H2数据库错误:数据库可能已在使用中:“被另一个进程锁定”

我正在尝试从Java应用程序使用H2数据库

我通过H2控制台创建了数据库及其表,然后尝试使用

Connection con = DriverManager.getConnection("jdbc:h2:~/dbname", "username", "password");

但是,我收到以下错误:

线程“主”中的异常org.h2.jdbc.JdbcSQLException:数据库可能已在使用中:“已被另一个进程锁定”。可能的解决方案:关闭所有其他连接;使用服务器模式[90020-161]

我试图删除该dbname.lock.db文件,但会自动重新创建。

如何从Java程序解锁数据库以使用它?

回答:

H2仍在运行(我可以保证)。您需要将TCP连接用于多个用户,例如->

<property name="javax.persistence.jdbc.url" value="jdbc:h2:tcp://localhost/C:\Database\Data\production;"/>

要么

DriverManager.getConnection("jdbc:h2:tcp://localhost/server~/dbname","username","password");

这也意味着您需要以TCP模式启动服务器。老实说,在文档中它非常简单。

强制终止该进程(对于Windows为javaw.exe),并确保关闭了可能已启动该进程的所有应用程序。您有一个活动锁。

以上是 H2数据库错误:数据库可能已在使用中:“被另一个进程锁定” 的全部内容, 来源链接: utcz.com/qa/425779.html

回到顶部