首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >H2数据库错误:数据库可能已经在使用:“被另一个进程锁定”

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

Stack Overflow用户
提问于 2011-11-16 21:27:43
回答 17查看 138.4K关注 0票数 59

我正在尝试使用来自Java应用程序的H2数据库。

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

代码语言:javascript
运行
复制
Connection con = DriverManager.getConnection("jdbc:h2:~/dbname", "username", "password");

但是,我收到以下错误:

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

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

我如何解锁数据库以使用我的Java程序?

EN

回答 17

Stack Overflow用户

回答已采纳

发布于 2011-11-16 21:33:31

H2仍然在运行(我可以保证)。您需要为多个用户(如-> )使用TCP连接。

代码语言:javascript
运行
复制
<property name="javax.persistence.jdbc.url" value="jdbc:h2:tcp://localhost/C:\Database\Data\production;"/>

代码语言:javascript
运行
复制
DriverManager.getConnection("jdbc:h2:tcp://localhost/server~/dbname","username","password");

这也意味着您需要以TCP模式启动服务器。亲爱的,这在文档中是非常直接的。

强制终止进程(javaw.exe for Windows),并确保任何可能启动该进程的应用程序都被关闭。你有一个主动锁。

票数 60
EN

Stack Overflow用户

发布于 2017-12-15 08:25:15

我也有同样的问题。在Intellj中,当我想使用h2数据库时,当我的程序运行时,我得到了相同的错误。为了解决这个问题,我将连接url改为

代码语言:javascript
运行
复制
spring.datasource.url=jdbc:h2:file:~/ipinbarbot

至:

代码语言:javascript
运行
复制
spring.datasource.url=jdbc:h2:~/ipinbarbot;DB_CLOSE_ON_EXIT=FALSE;AUTO_SERVER=TRUE

然后我的问题就消失了。现在我可以连接到"ipinbarbot“数据库时,我的程序是。如果您使用Hibernate,也不要忘记有:

代码语言:javascript
运行
复制
spring.jpa.hibernate.ddl-auto = update

古德勒克

票数 25
EN

Stack Overflow用户

发布于 2015-03-15 07:30:16

我使用h2db和一个测试T24 tafj应用程序,我也遇到了同样的问题,但我设法通过识别运行h2的应用程序(当我试图建立数据库连接时启动)来解决这个问题。

代码语言:javascript
运行
复制
ps aux|grep java

将提供的产出如下:

代码语言:javascript
运行
复制
sysadmin 22755  3.2  0.1 5189724 64008 pts/3   Sl   08:28   0:00 /usr/java/default/bin/java -server -Xmx2048M -XX:MaxPermSize=256M -cp h2-1.3.175.jar:/r14tafj/TAFJ/dbscripts/h2/TAFJFunctions.jar org.h2.tools.Server -tcp -tcpAllowOthers -baseDir /r14tafj/t24/data

现在,用它的进程id来终止它:

代码语言:javascript
运行
复制
kill -9 22755

最后,删除锁文件:

代码语言:javascript
运行
复制
rm -f dbname.lock.db
票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8158969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档