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

标签 java database-connection h2 redhat

我编写了一个 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>

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

可能有人知道什么可能导致此问题?

最佳答案

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

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

详细内容可以在url中查看.

关于java - 无法连接到 Red Hat 上的 H2 文件数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29977420/

相关文章:

java - 如果我用 Maven 目标 war :exploded, 打包一个 Web 应用程序,为什么不包含 pom.xml 和 pom.properties?

spring - spring.jpa.hibernate.ddl-auto 属性在 Spring 中到底如何工作?

mysql - 将本体连接到预先存在的数据库

java - 如何以编程方式删除 H2 数据库文件?

intellij-idea - 无法连接到 Intellij 中的 h2 数据库

java - 消费者在 Apache Kafka 中消费消息的延迟

java - 根据 JComboBox.SelectedItem 启用和禁用 JCheckBox

Java JTextArea 不重置值

php - 与本地主机数据库的连接问题

java - 我可以在不设置 Class.forName ("org.h2.Driver"的情况下连接到 h2 嵌入式数据库吗?