【发布时间】:2011-05-31 22:13:09
【问题描述】:
我有以下删除数据库的方法,但出现语法错误,我不知道发生了什么。
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)
有什么建议吗?
【问题讨论】:
-
你用的是什么数据库?
-
NetBeans 中的 Java DB。我正在使用德比。
-
您使用的账号是否有删除数据库的权限?
-
似乎没有
drop databasedb.apache.org/derby/manuals/reference/sqlj28.html 。也许你需要drop schema?
标签: java sql embedded-database