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

Cannot connect to an H2 file database on Red Hat

我编写了一个 Java 应用程序来创建 H2 文件数据库 (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>

我一开始以为可能是配置有问题,后来也尝试了一个简单的connection-example http://www.h2database.com/ 结果相同:当它应该连接时它开始挂起......(它 运行 在终止进程前已经将近一个小时)。 我还发现了一些使用问题:auto_server=true;但这不适用于我的情况,因为我反正不使用它。 与 Ubuntu.

相比,文件权限也没有区别

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

这种情况发生在我身上一次,我解决这个问题的方法是将数据库锁定机制更改为使用套接字。因此,在您的情况下,url 将是这样的。

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

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

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