2015-11-13 74 views
0

我想用Android的访问HSQLDB数据库,但是我得到这个错误每次java.sql.SQLException: Database lock acquisition failure: lockFile: [email protected][file =/home/user/db/jade.lck,HSQLDB无法连接到与Android的数据库脚本?

这是我的Connexion类:

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

Android没有单独发布的hsqldb。 –

+0

我发现这个链接,他用android做到了? http://stackoverflow.com/a/18576512/4368432所以我能做什么?我需要将数据存储在hsqldb数据库中。 –

+0

我认为这是不可能的,因为没有与此相关的文档。 –

回答

0

当您收到您报告的错误时,表示存在hsqldb.jar并尝试连接到数据库。您必须报告完整的错误,因为在文件名后面,它包含了失败的原因。

完整的错误表示jdbc:hsqldb:file:home/user/db/指示的目录不存在,或者它是只读目录,其中.lck文件无法创建。

为了缩小原因,您应该通过尝试使用Java文件方法列出现有的.script文件来找到正确的绝对路径。绝对路径始于/字符。然后您可以尝试打开数据库为readonly,这不会创建.lck文件。如果这是成功的,您可以尝试正常打开数据库。

+0

java.sql.SQLException:数据库锁获取失败:lockFile:[email protected] [file =/db/jade.lck,exists = false,locked = false,valid = false]方法:openRAF原因:java.io.FileNotFoundException:/db/jade.lck:打开失败:ENOENT(没有这样的文件或目录) –