无法连接到 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中查看详细信息。
好的 - 目录似乎有一些限制。移动到另一个,它工作正常(尽管使用相同的文件权限)。
我编写了一个 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中查看详细信息。
好的 - 目录似乎有一些限制。移动到另一个,它工作正常(尽管使用相同的文件权限)。