【发布时间】:2013-04-16 13:57:01
【问题描述】:
我正在尝试连接到 hsqldb(使用版本 2.2.9)。
我使用以下方法创建了一个:
java -cp hsqldb-2.2.9.jar org/hsqldb/util/DatabaseManagerSwing
当尝试通过我的 ui 连接到数据库时,出现以下异常:
Exception occured : java.sql.SQLException: Database lock acquisition failure: lockFile: org.hsqldb.persist.LockFile@76e90d02[file =/rhel5pdi/home/mgnyp/workspace/src/Project/webapp/WEB-INF/lib/testDataBase.lck, exists=true, locked=false, valid=false, ] method: checkHeartbeat read: 2013-04-23 10:35:22 heartbeat - read: -8403 ms.
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCConnection.<init>(Unknown Source)
at org.hsqldb.jdbc.JDBCDriver.getConnection(Unknown Source)
at org.hsqldb.jdbc.JDBCDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
我认为数据库被锁定是因为 DatabaseManagerSwing 在我的 ui 之前建立了连接,所以我关闭了那个。 这导致了以下异常:
Exception occured : java.sql.SQLException: Database lock acquisition failure: lockFile: org.hsqldb.persist.LockFile@76e90d02[file =/rhel5pdi/home/mgnyp/workspace/src/PmtMetricsUI2/webapp/WEB-INF/lib/testDataBase.lck, exists=false, locked=false, valid=false, ] method: openRAF reason: java.io.FileNotFoundException: /rhel5pdi/home/mgnyp/workspace/src/Project/webapp/WEB-INF/lib/testDataBase.lck (Permission denied)
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCConnection.<init>(Unknown Source)
at org.hsqldb.jdbc.JDBCDriver.getConnection(Unknown Source)
at org.hsqldb.jdbc.JDBCDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
我正在使用 spring mvc 和 c3p0。 连接详情(提供的数据库的绝对路径):
Connection con = DriverManager.getConnection("jdbc:hsqldb:file:/home/mgnyp/workspace/src/Project/webapp/WEB-INF/lib/testDataBase", "SA", "");
我试过这种方法,不幸的是没有成功: Database lock acquisition failure and hsqldb
我还在 hsql.org 上查找了文档
抱歉,如果问题很明显,我以前从未使用过 hsql。
如果有任何帮助或提示,我将不胜感激。
谢谢。
【问题讨论】:
-
您是否正在尝试打开已被 webapp 使用的数据库?
-
嗨 shyam,谢谢您的回复。我只是发现了一个我不知道的与该数据库的挂起连接,因此锁定了。它现在可以工作了,负责建立连接的代码有一个设计流程。我花了几个小时才意识到这一点(这就是我将其作为问题发布的原因)
-
@mgnyp 我也有同样的问题。您能解释一下如何解决吗?