我試圖連接到hsql數據庫。我創建了一個通過在C運行:\ myhsql:數據庫鎖定採集失敗和hsqldb
java -cp .;C:\hsql\lib\hsqldb.jar org.hsqldb.Server -database.0 file:db\mydb -dbname.0 MYDB
這在名爲db
目錄中創建mydb
。此文件夾現在具有名稱爲mydb的.lck,tmp,腳本,屬性文件以及當前文件夾中名稱爲MYDB的類似文件。
在Java代碼中我試圖
Class.forName("org.hsqldb.jdbcDriver");
connection = DriverManager.getConnection("jdbc:hsqldb:file:db/sjdb", "SA", "");
當我運行程序時,我收到此錯誤:
java.sql.SQLException: Database lock acquisition failure: lockFile: [email protected][file =C:\myhsql\db\mydb.lc
k, exists=true, locked=false, valid=false, ] method: checkHeartbeat read: 2010-10-19 12:46:09 heartbeat - read: -6750 ms.
...
這裏是堆棧跟蹤:
java.sql.SQLException: Database lock acquisition failure: lockFile: [email protected][file =C:\myhsql\db\sjdb.lc
k, exists=true, locked=false, valid=false, ] method: checkHeartbeat read: 2010-10-19 12:46:09 heartbeat - read: -6750 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(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at ConnectHSQLDB.main(ConnectHSQLDB.java:20)
Caused by: org.hsqldb.HsqlException: Database lock acquisition failure: lockFile: [email protected][file =C:\myhsql\db\sjdb.lck, exists=true, locked=false, valid=false, ] method: checkHeartbeat read: 2010-10-19 12:46:09 heartbeat - read: -6750 ms.
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.persist.LockFile.newLockFileLock(Unknown Source)
at org.hsqldb.persist.Logger.acquireLock(Unknown Source)
at org.hsqldb.persist.Logger.openPersistence(Unknown Source)
at org.hsqldb.Database.reopen(Unknown Source)
at org.hsqldb.Database.open(Unknown Source)
at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
at org.hsqldb.DatabaseManager.newSession(Unknown Source)
... 6 more
java.lang.NullPointerException
at ConnectHSQLDB.main(ConnectHSQLDB.java:32)
有人可以告訴我做錯了什麼?我可以使用SwingDBManager連接到db,並且可以在db中使用insert
,delete
和select
記錄。當我嘗試java代碼時,我沒有運行DBManager。仍然會發生鎖定問題。
thanx fredt的幫助.. – markjason72 2010-10-19 17:01:11