如何同时运行两个连接,连接H2数据库?

发布于 2021-11-16 20:34:47 字数 532 浏览 887 评论 3

最近正在搞springside,第一次接触的H2数据库,发现居然只能运行一个实例!?

如果运行网站(在eclipse跑的MiniWebServer),就不能使用h2-console.bat直接查看数据,总提示:Database may be already in use: "Server is running". Possible solutions: close all other connection(s); use the server mode; SQL statement

如果 使用h2-console.bat 就没办法运行网站

请问这个如何处理,使之同时运行?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

琴流音 2021-11-22 10:51:58

H2的file模式是带锁的,只允许单个访问。你可以看到,在访问file是会多出一个h2.lock文件

归属感 2021-11-22 00:55:40

 用c/s(tcp)连接模式,不要用file连接模式就可以解决

无法言说的痛 2021-11-20 21:38:34
类似Oracle那种多实例或者说运行多个服务,不清楚H2是否可以实现,可以修改端口值试试看看能不能启动多个h2实例(服务)。
查看数据可以通过MVCC=TRUE这样的方式,MVCC(Multi-Version Concurrent Control) 多版本并发控制模式,如不开启,好像则只能单链接数据库文件。
jdbc.url=jdbc:h2:mem:h2
jdbc.url=jdbc:h2:zip:/JDBC_URL/h2.zip!/h2
jdbc.url=jdbc:h2:file:JDBC_URL/h2;MVCC=TRUE
jdbc.url=jdbc:h2:ssl://localhost:9000/JDBC_URL/h2;MVCC=TRUE
jdbc.url=jdbc:h2:tcp://localhost:9000/JDBC_URL/h2;MVCC=TRUE

其中JDBC_URL/h2指的是数据库文件物理路径

参考文章http://jianshusoft.blog.51cto.com/2380869/766947

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文