如何在服务器模式下运行H2数据库?

如何在服务器模式下启动H2数据库。我需要从我的应用程序中启动它。我尝试了以下代码:

server = Server.createTcpServer().start();

这是连接的属性:

javabase.jdbc.url = jdbc:h2:tcp://localhost:9092/nio:~/source/db/database/db;AUTO_SERVER=TRUE

javabase.jdbc.driver = org.h2.Driver

javabase.jdbc.username = sa

javabase.jdbc.password =

当我运行程序时,出现以下错误:

client.db.exception.DAOException: org.h2.jdbc.JdbcSQLException: Database may be already in use: "Locked by another process". Possible solutions: close all other connection(s); use the server mode [90020-164]

at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)

at org.h2.message.DbException.get(DbException.java:169)

at org.h2.message.DbException.get(DbException.java:146)

at org.h2.store.FileLock.getExceptionAlreadyInUse(FileLock.java:439)

at org.h2.store.FileLock.lockFile(FileLock.java:336)

at org.h2.store.FileLock.lock(FileLock.java:128)

at org.h2.engine.Database.open(Database.java:542)

at org.h2.engine.Database.openDatabase(Database.java:222)

at org.h2.engine.Database.<init>(Database.java:217)

at org.h2.engine.Engine.openSession(Engine.java:56)

at org.h2.engine.Engine.openSession(Engine.java:159)

at org.h2.engine.Engine.createSessionAndValidate(Engine.java:138)

at org.h2.engine.Engine.createSession(Engine.java:121)

at org.h2.server.TcpServerThread.run(TcpServerThread.java:133)

at java.lang.Thread.run(Thread.java:680)

谢谢,

回答:

如异常消息所述,“数据库可能已在使用中”。您需要关闭所有其他连接,以确保未在另一个进程中同时打开数据库。

顺便说一句,不要同时使用AUTO_SERVER = TRUE

服务器模式。请参阅自动混合模式的文档。使用其中之一。

我想您对不同的连接模式有些困惑。我建议阅读有关连接模式的文档,以确保您理解它。

以上是 如何在服务器模式下运行H2数据库? 的全部内容, 来源链接: utcz.com/qa/407343.html

回到顶部