当前位置: 首页 > 面试题库 >

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

权弘新
2023-03-14
问题内容

如何在服务器模式下启动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数据库和一个使用Spring Boot的文件。 在我的application.properties,我有这样的条目: spring.datasource.url=jdbc: h2: file: c:/Testprojekte/spring-boot-h2-db 但是现在我希望能够在运行应用程序时查看数据库,这目前是不可能的,因为我需要让数据库以服务器模式运行才能这样做。在留档中,

  • 问题内容: 当我在生产环境中启动我的应用程序以在将其发布到服务器之前对其进行测试时,我注意到由Resque.enqueue(worker)调用的数据库操作之一是在WRONG数据库上执行的!development.sqlite3而不是production.sqlite3。我同时使用零配置文件运行服务器和resque。必须有某种方法在正确的环境中运行redis或resque。 我发现此redis配置文

  • 问题内容: 我有spring XML,可以使用以下配置在服务器模式下启动H2数据库: 我想转换为基于Java的配置。我似乎在这里发表了一篇文章:使用Spring提出并设置内存数据库,并提出了相同的问题,我查看了http://docs.spring.io/spring/docs/3.0.x/spring-framework- reference/ html / jdbc.html#jdbc-embe

  • 问题内容: 在服务器模式下使用OpenOffice有什么经验?我知道OpenOffice不是多线程的,现在我需要在服务器中使用它的服务。 我该如何解决这个问题? 我正在使用Java。 问题答案: 是的,我正在使用OpenOffice作为文档转换服务器。 不幸的是,解决您的问题的方法是生成一个OpenOffice进程池。 JODConverter 的commons- pool 分支(在移至之前)为您

  • 我使用< code>Liquibase更新我的数据库,并对< code>H2进行测试。 我正在使用来配置属性。我使用 连接到数据库,但没有成功。 我意识到在,所以我尝试将默认模式设置为 但这没有成功,我看到日志是 如何在 H2 中设置默认架构和数据库名称?

  • 我是H2新手,但我读了很多留档,我成功地创建了嵌入式H2 mem或文件数据库。 但我仍然无法使用服务器模式或混合模式: 我像这样启动我的Web服务器和tcp服务器: 正在尝试服务器模式: 我创建文件数据库如下: > jd bc: h 2:~/ma Base H 2 Fic hier TCP 用户名:sa 密码: 数据库已创建,我看到一个锁文件 > url: jdbc: h2:tcp://local