当我打开并连接HSQL DB Manager(Swing)时,Java代码无法连接到数据库抛出这个:
java.sql.SQLException: Database lock acquisition failure: lockFile: org.hsqldb.persist.LockFile@cf53680[file =C:\somedb\db.lck ...
但是一旦我从数据库管理器关闭与数据库的连接,Java代码就会开始正常工作。
这是什么?
答案 0 :(得分:2)
HSQLDB主要是嵌入式数据库引擎。这意味着如果嵌入式运行它,只有一个进程(= JVM)可以使用该数据库。无法与其他进程建立连接。
唯一的方法是以服务器模式启动HSQLDB,其中HSQLDB在其自己的进程(JVM)中运行并接受来自其他进程的连接 - 基本上与"传统& #34; Postgres或Oracle等数据库服务器。
有关如何在服务器模式下启动HSQLD的详细信息,请参见手册:
http://hsqldb.org/doc/2.0/guide/running-chapt.html#rgc_server_modes