2015-11-13 61 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(沒有這樣的文件或目錄) –