我在玩这种数据库,我用过后尝试关闭HSQLDB连接,但最后还是打开了。代码://----This methods are in a specific connection class file public static Connection conn = null; public static Connection getConnection(){ try { input = new FileInputStream("PathToMyPropertiesFile"); prop.load(input); //The properties constants are correctly checked Class.forName(prop.getProperty("DRIVER_HSQLDB")); conn = DriverManager.getConnection(prop.getProperty("CONN_HSQLDB")); } catch(ClassNotFoundException | SQLException e) { LOG.log(null,"Error: "+e); } catch (IOException ex) { LOG.log(null,"FILE ERROR: "+ex); } finally { if (input != null) { try { input.close(); } catch (Exception e) { LOG.log(null,"CLOSE ERROR: "+e); } } } return conn; }public static boolean stopConn() { try { if(conn != null) { conn.close(); System.err.println("\nCLOSE CONN\n"+conn); return true; } } catch (SQLException e) { e.printStackTrace(); return false; } return false; }控制台给了我这个结果,我不知道为什么连接从来没有关闭,因为我试图关闭它两次。如果有人有想法请告诉我。
1 回答

繁华开满天机
TA贡献1816条经验 获得超4个赞
关闭 JDBC 连接不会关闭进程内数据库。这允许您在应用程序运行时打开和关闭不同的连接。
您需要执行 JDBC 语句来关闭数据库。要执行的 SQL 语句是“SHUTDOWN”。
可以将连接属性“shutdown=true”添加到 JDBC 连接 URL,以在与进程内数据库的最后一个连接关闭时强制快速关闭。但这主要对只读或测试数据库有用。完全 SHUTDOWN 允许数据库在下次建立连接时快速打开。
请参阅指南http://hsqldb.org/doc/2.0/guide/running-chapt.html#rgc_inprocess
添加回答
举报
0/150
提交
取消