具有基于文件的数据库的h2集群

时间:2014-05-27 09:14:38

标签: java database cluster-computing h2

我已经设置了一个h2集群,但无法通过控制台连接或使用数据源我得到的是:

IO Exception: "java.io.IOException: The filename, directory name, or volume label syntax is incorrect"; "E:/baseDirDefinedInServerConnection/myDB,localhost:1112/myDB" [90031-176] 90031/90031 (Help)

我已经配置了2台服务器:

java -cp h2-1.3.167.jar org.h2.tools.Server -tcp -tcpPort 1111 -tcpAllowOthers -baseDir E:\myBaseDir 
at tcp://myIp:1111 (others can connect)

java -cp h2-1.3.167.jar org.h2.tools.Server -tcp -tcpPort 1112 -tcpAllowOthers -baseDir E:\myBaseDir\server
at tcp://myIp:1112 (others can connect)

所以你看到我在一个目录中创建了一个数据库(已创建),另一个目录中有另一个数据库。两者都正常运行。

我已经运行了集群工具:

java -cp h2-1.3.167.jar org.h2.tools.CreateCluster -urlSource jdbc:h2:tcp://localhost:1111/myDB -urlTarget jdbc:h2
:tcp://localhost:1112/myDB -user username -password pass -serverList localhost:1111,localhost:1112

这一切看起来都不错。如果我尝试连接没有集群列表的控制台,我会收到此消息,这证明我们处于集群模式,这很好:

Clustering error - database currently runs in cluster mode, server list: 'localhost:1111,localhost:1112'" [

我已经检查了目录的权限,并且都具有读/写访问权限。 是的,这是一台Windows机器。 使用H2版本: 捆绑供应商:H2集团 捆绑版本:1.3.167

任何想法我可能做错了什么? 谢谢你的阅读。

1 个答案:

答案 0 :(得分:2)

猜猜你已经发现一个人应该像这样连接 jdbc:h2:tcp://localhost:1111,localhost:1112/myDB

相关问题