我想使用android访问hsqldb数据库,但我每次都会收到此错误java.sql.SQLException: Database lock acquisition failure: lockFile: org.hsqldb.persist.LockFile@dc61f9b4[file =/home/user/db/jade.lck,
这是我的联系班:
private static final String BDD_DRIVER = "org.hsqldb.jdbcDriver";
private static final String BDD_URI = "jdbc:hsqldb:file:home/user/db/jade;shutdown=true";
private static final String BDD_LOGIN = "sa";
private static final String BDD_PASS = "";
这就是我得到连接的方式:
Class.forName(BDD_DRIVER).newInstance();
connexion = DriverManager.getConnection(BDD_URI, BDD_LOGIN, BDD_PASS);
谢谢你的帮助。
答案 0 :(得分:0)
当您收到报告的错误时,表示存在hsqldb.jar并尝试连接到数据库。您必须报告完整错误,因为在文件名之后,它包含失败的原因。
完整错误表示jdbc:hsqldb:file:home/user/db/
指示的目录不存在,或者它是无法创建.lck
文件的只读目录。
为了缩小原因,您应该通过尝试使用Java文件方法列出现有的.script文件来找到正确的绝对路径。绝对路径以/
字符开头。然后,您可以尝试以readonly
打开数据库,该文件不会创建.lck
文件。如果成功,您可以尝试正常打开数据库。