【问题标题】:h2 server mode or mixed mode : data are updated from app1 but not visible from app2h2 服务器模式或混合模式:数据从 app1 更新,但从 app2 不可见
【发布时间】:2018-07-28 17:40:53
【问题描述】:

我是 h2 新手,但我阅读了很多文档, 我成功创建了嵌入式 H2 内存或文件数据库。

但我仍然无法使用服务器模式或混合模式:

我像这样启动我的 Web 服务器和 tcp 服务器:

java -jar h2-1.4.196.jar -web -webAllowOthers -tcp -tcpAllowOthers -browser -tcpPort 9092

尝试服务器模式:

我这样创建文件数据库:

  • 我打开 H2 控制台并输入以下内容:

    • jdbc:h2:~/maBaseH2FichierTCP
    • 用户名:sa
    • 密码:

数据库已创建,我看到一个锁定文件

  • 在我的 Java 应用程序中

    • url:jdbc:h2:tcp://localhost:9092/~/maBaseH2FichierTCP
    • 相同的用户名和密码

--> 当我启动我的 java 应用程序属性文件时,它停留在数据源创建阶段。 我试图更改网址:jdbc:h2:tcp://localhost:9092/~/maBaseH2FichierTCP 到jdbc:h2:tcp://localhost/~/maBaseH2FichierTCP,但是没有效果。

尝试混合模式:

  • 在 H2 控制台中,我创建了 jdbc:h2:C:/data/maBaseFichierAutoServeur;AUTO_SERVER=TRUE

  • 在java中,url:jdbc:h2:tcp://192.168.1.152:55000/file:c:/data/maBaseFichierAutoServeur;AUTO_SERVER=TRUE

--> 行为是相同的,应用程序启动,但是在创建数据源时,它会等待,然后什么都没有发生...

是否有人有想法使其他服务器模式之一工作?

【问题讨论】:

  • 我解决了第一个问题:它是由 h2 版本的 h2 控制台和我的应用程序中的 h2 客户端不兼容引起的。 1.4.196 与 1.4.192。

标签: java h2


【解决方案1】:

我解决了第一个问题:它是由 h2 版本的 h2 控制台和我的应用程序中的 h2 客户端不兼容引起的。 1.4.196 与 1.4.192;调试时,我们可以看到启动了一个异常,但是我认为调试甚至跟踪都没有写入任何内容,并且程序尝试在连接上执行回滚。它在这里以无限循环结束,即使我不明白为什么。更改版本时,我可以连接我的远程基地。

但是现在,当应用程序更新数据库时,在 h2 控制台中无法看到更新的数据。有人知道为什么吗?

【讨论】:

    猜你喜欢
    • 2021-06-03
    • 1970-01-01
    • 1970-01-01
    • 2015-05-13
    • 1970-01-01
    • 2014-08-07
    • 1970-01-01
    • 2021-11-08
    • 2021-11-08
    相关资源
    最近更新 更多