Java 执行SQL语句时获取语法错误

Java 执行SQL语句时获取语法错误,java,sql,embedded-database,Java,Sql,Embedded Database,我有下面的方法删除数据库,但我得到一个语法错误,我不知道发生了什么 public void deleteDB(){ try{ Statement s = conn.createStatement(); System.out.println("Deleteting database..."); s.execute("DROP DATABASE Courses"); System.out.println("Database de

我有下面的方法删除数据库,但我得到一个语法错误,我不知道发生了什么

public void deleteDB(){
    try{
        Statement s = conn.createStatement();
        System.out.println("Deleteting database...");
        s.execute("DROP DATABASE Courses");
        System.out.println("Database deleted.");
    }
    catch(SQLException error){
        System.err.println("Unable to delete database.");
        error.printStackTrace(System.err);
        System.exit(0);
    }
}
我使用以下命令调用该方法:

UpdateDB update = new UpdateDB();
update.connectDatabase(dbName);
update.deleteDB();
我得到这个错误:

java.sql.SQLSyntaxErrorException: Syntax error: Encountered "DATABASE" at line 1, column 6.
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
有什么建议吗?

你有一个叫做“课程”的数据库吗?还是一张名为courses的表格

据此:

没有drop database命令。要删除数据库,请使用操作系统命令删除数据库目录


您使用的是哪种数据库?NetBeans中的Java DB。我正在使用Derby。您使用的帐户是否具有删除数据库的权限?似乎没有
删除数据库
。也许您需要删除模式?我有一个名为Courses的数据库。我可以使用DROPTABLE命令删除我的表,该命令运行良好。