我正在尝试连接到hsqldb(使用版本2.2.9).
我用以下方法创建了一个:
java -cp hsqldb-2.2.9.jar org/hsqldb/util/DatabaseManagerSwing
Run Code Online (Sandbox Code Playgroud)
当我尝试通过我的ui连接到db时,我遇到以下异常:
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)
Run Code Online (Sandbox Code Playgroud)
我假设数据库已被锁定,因为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)
Run Code Online (Sandbox Code Playgroud)
我正在使用spring mvc和c3p0.连接详细信息(提供的数据库的绝对路径):
Connection con = DriverManager.getConnection("jdbc:hsqldb:file:/home/mgnyp/workspace/src/Project/webapp/WEB-INF/lib/testDataBase", "SA", "");
Run Code Online (Sandbox Code Playgroud)
我尝试过这种方法,遗憾的是不成功: 数据库锁定获取失败和hsqldb
我也在hsql.org查找了文档
抱歉,如果问题很明显,我以前从未使用过hsql.
我将不胜感激任何帮助或提示.
谢谢.
Jas*_*n D 12
我能够通过包含; readonly = true作为附加连接字符串上的属性来禁用锁定文件.否则我发现锁始终是为文件数据库保留的.适用于我的示例连接字符串是jdbc:hsqldb:file:my/file/location; readonly = true
| 归档时间: |
|
| 查看次数: |
12139 次 |
| 最近记录: |