与内存中的 DB 运行 的本地 H2 服务器-客户端连接

Local H2 Server-Client connection with DB running in memory

我有两个独立的 Java 应用程序,我想通过内存中的 H2-DB 相互通信。理论上非常简单,但我无法正常工作。

我想做什么: 我创建了一个执行 jdbc:h2:mem:test 的内存数据库。 对于客户端,我尝试连接到它。我尝试了 jdbc:h2:tcp://localhost/~/test 和类似的连接字符串,但都没有成功。

是否可以连接到内存数据库?连接字符串应该是什么样子才能使这项工作正常进行?非常感谢。

H2数据库可以共享,但不能在内存中,您可以参考官方文档:

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

第一个应用程序以嵌入式模式打开它,其他应用程序将使用服务器模式。

经过大量阅读和使用 H2 选项 (http://h2database.com/html/features.html and http://h2database.com/html/advanced.html) 的反复试验后,我发现可以从同一台机器上的多个进程(或远程)访问内存数据库) 使用 TCP/IP 或 SSL/TLS。内存数据库 test 的连接字符串是 jdbc:h2:tcp://localhost/mem:test.