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

SuJackie 发布于 2012/07/07 15:20
阅读 4K+
收藏 0

最近正在搞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 就没办法运行网站

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

加载中
0
bs2004
bs2004
类似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

0
特劳特
特劳特
 用c/s(tcp)连接模式,不要用file连接模式就可以解决
0
刘学炜
刘学炜
H2的file模式是带锁的,只允许单个访问。你可以看到,在访问file是会多出一个h2.lock文件
返回顶部
顶部