2

我有与这个相同的场景:H2 数据库多个连接。这是经典的“网络共享上的 Microsoft Access 数据库”方法。

我有一个应用程序应该安装在局域网内的多个客户端上。在安装过程中,会要求用户提供网络共享上的数据库位置。

我想避免单独的数据库服务器/服务安装。在最简单的情况下,用户只需在两台计算机上安装应用程序,两台计算机都可以访问公共网络共享(可以位于第三台计算机/服务器上)。

现在在我看来,自动混合模式是我正在寻找的,但我不太确定。我主要是在寻找对我理解的确认,因为文档中没有明确说明。

那么,AUTO_SERVER 模式是否是从同一 LAN 内不同机器上运行的多个客户端连接到位于网络共享上的 H2 数据库的正确(预期/最佳)方式?

还是我完全错了,这是我根本不应该尝试的吗?

谢谢你的时间。

4

2 回答 2

3

您有多种选择:

于 2013-08-13T18:40:20.887 回答
2
#Please find the full configuration: one should remember that if one has to run in server #and persistent mode with in spring boot application, the database file should be created #in advance. other wise create db file and place the location and start the h2 in server #mode

#Datasource Configuration
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:c:/data/studentdb;AUTO_SERVER=TRUE;AUTO_SERVER_PORT=8043;AUTO_RECONNECT=TRUE;DB_CLOSE_ON_EXIT=FALSE;DB_CLOSE_DELAY=-1;
spring.datasource.username=sa
spring.datasource.password=sa

#JPA Configuration
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect

#Connection Pool Configuration
spring.datasource.hikari.connection-timeout=20000
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.maximum-pool-size=12
spring.datasource.hikari.idle-timeout=300000
spring.datasource.hikari.max-lifetime=1200000

#H2 Web Console
#spring.h2.console.enabled=true
spring.h2.console.path=/h2-console
spring.h2.console.settings.trace=false
spring.h2.console.settings.web-allow-others=true
于 2021-04-18T21:40:31.940 回答