【发布时间】:2011-09-07 08:54:08
【问题描述】:
即使我可以创建表并毫无问题地读取它们,我也无法在 HSQLDB 中删除默认用户 SA(或任何用户)的表,请参阅下面的代码,有什么问题? 另一方面,如果我使用第三方 SQL 客户端(例如 squirrel),即使用户为空,我也可以毫无问题地登录和删除表。
公共静态无效主要(字符串[]参数){ 尝试 { DBManager.executeUpdate("drop table mytable"); } 捕捉(SQLException ex){ ex.printStackTrace(); } } 公共静态连接 getConnection(){ 连接 c =null; 尝试 { c = DriverManager.getConnection("jdbc:hsqldb:file:e:\\xxx_db\\xxx", "SA", ""); } 捕捉(SQLException ex){ ex.printStackTrace(); } 返回 c; } 公共静态 int executeUpdate(String s) 抛出 SQLException { 连接 con = getConnection(); 尝试{ 返回 con.createStatement().executeUpdate(s); } 最后{ 如果(con!= null)尝试{ con.close(); } 捕捉(SQLException ex){ Logger.getLogger(DBManager.class.getName()).log(Level.SEVERE, null, ex); } } }【问题讨论】:
-
您是否收到错误/异常? SQL 成功了但是表还在吗?
-
@Adam Batkin:我没有遇到任何异常,SQL 似乎成功了,但表仍然存在..
-
DUAL 表中有行吗?