2014-10-03 48 views
0

我开始在我的服务器中使用H2数据库进行开发。我有一个Java应用程序,将使用这个数据库整天运行。检查H2数据库,当它正在被Java使用时

有时,我想用H2浏览器控制台检查数据库的内容。我禁不住注意到你不能同时有两个连接(一个来自我的Java应用程序,另一个来自浏览器控制台)。这当然是非常有意义的。

这似乎是我必须暂时关闭Java,以便我可以检查我的数据库。但我宁愿不这样做 - 至少不经常(这是一个多人游戏服务器)。

现在,我的Java应用程序有一个用户界面。我想我可以对它进行编程,使我可以使用它已有的连接检查数据库。我倾向于这样做,除非有更方便的选择。

有没有办法使用浏览器控制台或类似的东西检查H2数据库,即使它已被Java应用程序使用过?

+0

这是否完美无缺?当然,您应该可以同时从多个应用程序连接到数据库服务器。这意味着您正在使用数据库服务器,而不是嵌入式数据库。 http://www.h2database.com/html/tutorial.html#using_server – 2014-10-03 06:16:10

回答

0

如果您的数据库以嵌入模式打开,则只有一个JVM可以访问它。所以,你有两种方法可以做到你想要什么:通过您运行的应用程序

  • 获得访问权限,加入会诊屏幕,Web服务的服务器功能,...
  • 使用您的数据库在服务器模式,从而使并发从不同的JVM
1

“自动混合模式” 访问是你在找什么:

http://www.h2database.com/html/features.html#auto_mixed_mode

从手册引用:

多个进程可以访问相同的数据库,而无需手动启动服务器。为此,请将;AUTO_SERVER=TRUE附加到数据库URL [...]对该数据库的所有连接使用相同的URL。 [...]打开与数据库的第一个连接的应用程序使用嵌入模式,该模式比服务器模式更快