无法连接到Red Hat上的H2文件数据库

时间:2015-04-30 20:41:52

标签: java database-connection h2 redhat

我编写了一个创建H2文件数据库的Java应用程序(1.4.184)。它在Windows和Ubuntu上运行良好。 当我将它部署到Red Hat服务器时,它会创建数据库但无法连接。它只是挂起并且不会以任何异常退出。 这是应用程序使用的bean配置:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">  
    <property name="driverClassName"  value="org.h2.Driver"></property>  
    <property name="url" value="jdbc:h2:file:./db/h2/my_data_base"></property>
    <property name="username" value="username"></property>  
    <property name="password" value="password"></property>  
    <property name="defaultAutoCommit" value="false" />
</bean>

我首先想到配置可能有问题,但后来我尝试了一个简单的连接 - 例如http://www.h2database.com/ 具有相同的结果:当它应该连接时,它开始挂起......(如果它已经运行了将近一个小时才终止该过程)。 我还发现了一些使用问题:auto_server = true;但这不适用于我的情况,因为我还是不使用它。 与Ubuntu相比,文件权限也没有区别。

可能有人知道可能导致这个问题的原因是什么?

2 个答案:

答案 0 :(得分:0)

这种情况发生在我身上,我解决这个问题的方法是更改​​数据库锁定机制以使用套接字。所以,在你的情况下,网址就是这样。

jdbc:h2:file:./db/h2/my_data_base;FILE_LOCK=SOCKET

您可以查看此url中的详细信息。

答案 1 :(得分:0)

好的 - 似乎对目录有一些限制。移动到另一个,它工作正常(虽然使用相同的文件权限)。