繁体   English   中英

H2数据库多个连接

H2 Database multiple connections

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有以下问题:两个不同系统上的两个应用程序实例应共享一个小型数据库。 主要问题是两个系统只能通过网络文件夹交换数据。 我没有可能在某处设置数据库服务器。

是否可以在网络文件夹上放置H2数据库并让两个实例连接到数据库(也同时)?

如果我禁用文件锁定,我可以使用嵌入模式将两个实例连接到数据库,对吧? 实例可以在db上执行READ或INSERT操作。 使用多个并发嵌入式连接是否存在数据损坏的风险?

2 个回复

我有同样的问题,我在文档中找到了解决方案。 它可以在; http://h2database.com/html/features.html#auto_mixed_mode

多个进程可以访问同一个数据库,而无需手动启动服务器。 为此,请将AUTO_SERVER = TRUE附加到数据库URL。 您可以使用相同的数据库URL,而不管数据库是否已打开。 此功能不适用于内存数据库。

// Application 1:
DriverManager.getConnection("jdbc:h2:/data/test;AUTO_SERVER=TRUE");

// Application 2:
DriverManager.getConnection("jdbc:h2:/data/test;AUTO_SERVER=TRUE");

从H2文档

也可以在没有文件锁定的情况下打开数据库; 在这种情况下,由应用程序来保护数据库文件。 如果不这样做将导致数据库损坏。

我认为如果你的应用程序总是使用相同的配置(网络文件夹上的共享文件数据库),你需要创建一个管理并发的应用程序层

1 与内存数据库中的同一H2建立多个连接[重复]

这个问题已经在这里有了答案: H2内存数据库。 找不到表 11个答案 我经常遇到相同的问题:我想使用内存数据库在DAO上执行单元测试。 我正在使用H2,但是我相信问题与HSQLDB几乎相同。 我的单元测试涉及三个步骤: 创建数据库并设置数据库模式(例 ...

2 多个H2数据库连接,不同的访问模式

我有两个客户端分别连接到同一H2数据库。 我希望这些连接之一是只读的,而另一个则是可读写的。 为此,我使用以下连接字符串: 只读: jdbc:h2:tcp://localhost/~/test;ACCESS_MODE_DATA=r 读写: jdbc:h2:tcp://loc ...

3 托管H2数据库并接受连接

我已经看了很长一段时间,所以我只想在这里问一下; 如何在服务器模式下设置H2数据库,以便我可以通过互联网从另一台机器连接到它? 如何在服务器模式下启动引擎并使其在计算机上运行以接受连接? 我可以转发端口和一切正常,它只是让引擎处于“接收”模式,我很傻。 对不起,我到处都是。 我 ...

2012-08-07 08:47:07 2 1514   java/ h2
4 H2数据库-并发连接策略

我有几个相同的应用程序独立运行。 每个人都从数据库中读取一行(基于某些条件),执行一系列操作,最后更新该行。 因此,我想确保某一行开始由一个应用程序处理,而不会被另一行处理。 换句话说,我希望该应用程序选择下一个可用行。 我该如何实施? 我尝试使用“选择...进行更新”,MVCC, ...

5 H2 - 多个应用程序访问相同的H2数据库

我在2个Web应用程序中使用嵌入式数据库H2说WebApp1和WebApp2 。 我运行WebApp1并执行一些查询来访问H2数据库。 这意味着当我运行WebApp2时,但它抛出了H2当前被另一个进程使用的异常 我的需求是,我应该能够同时使用WebApp1和WebApp2的H2数据库。 ...

2014-08-27 07:08:42 1 4087   java/ h2
6 如何断开Glassfish上的所有JDBC连接并解锁H2数据库?

我正在tcp /多用户模式下运行带有H2数据库的Glassfish 4.1服务器。 我正在尝试以编程方式更新单例bean中的表。 我总是收到以下异常: 我知道该表已锁定,因为其中一个容器管理的实体管理器似乎在该表上具有打开的连接。 但是在更改表语句时,不需要任何连接... 因 ...

8 H2数据库更新多列

美好的一天, 我试图弄清楚如何更新h2数据库中的多个列。 单列很容易像这样: UPDATE TABLENAME SET COLUMN1 ='X'WHERE ID ='2' 但是我也想更新COLUMN2和COLUMN3。 我该怎么做呢?!! ...

9 H2:从多个来源加载数据库

有什么方法可以使用多个来源预填充H2数据库? 我仅通过单一来源找到RUNSCRIPT的示例。 我正在寻找下面的代码,但是在这种情况下,H2似乎正在寻找一个名为“ * .sql”的文件。 ...

2018-07-22 23:12:52 0 38   h2
10 未创建H2数据库

我在春季正在做一个简单的项目。 现在,我正在从教程中重写代码,但是未创建H2表。 我的代码中唯一的区别是@Entity被标记为已弃用,而在本教程中则没有。 有人可以帮我吗? 谢谢你提前。 这是我的.pom文件中的代码: aplication.properties文件: ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM