与本地 HSQLDB 的多个连接 - Java

Posted

技术标签:

【中文标题】与本地 HSQLDB 的多个连接 - Java【英文标题】:Multiple connection to a local HSQLDB - Java 【发布时间】:2017-04-25 07:52:40 【问题描述】:

我对此事进行了一些研究,但没有发现任何结论。我正在使用本地 HSQLDB,这是我连接到该数据库的方式:

Connection con = DriverManager.getConnection("jdbc:hsqldb:file:src/database/db", "SA", "");

我希望能够建立多个连接。为什么?我有两个 java 应用程序。一种是显示来自该数据库的数据(仅读取),另一种是向该数据库添加数据(读取和写入)。我可能需要每个应用程序有几个实例。但是当连接已经处于活动状态并且我运行我的应用程序的第二个实例时,它不会运行并在 10 秒后给我一个错误:

Database lock acquisition failure: lockFile

有没有办法做到这一点?

【问题讨论】:

【参考方案1】:

使用您的数据库启动 HSQLDB 服务器并从不同进程连接到它:

http://hsqldb.org/doc/guide/running-chapt.html#rgc_hsql_server

详细信息:

http://hsqldb.org/doc/guide/listeners-chapt.html

【讨论】:

我不能使用服务器,因为我没有可供我使用的服务器。我正在开发的应用程序需要在任何计算机上本地使用(不能使用本地主机)。 本地主机是您的计算机。 HSQLDB Server 是在您的计算机上运行的程序。 我不太明白。我以为你必须设置本地主机。我应该如何在我的本地主机上使用 HSQLDB 和在程序开始时设置数据库?你有一个例子吗?文档有点模糊。 谢谢 我以为它不能在 Windows 7 上运行,但确实如此。但是在运行程序时我应该如何在 Java 上运行这个命令行呢?我需要简单地双击我的 jar 文件就足以启动应用程序(并启动服务器)。 没关系,我通过挖掘一点点找到了我需要的东西。我用hsqldb.org/doc/verbatim/src/org/hsqldb/test/TestBase.java。非常感谢。

以上是关于与本地 HSQLDB 的多个连接 - Java的主要内容,如果未能解决你的问题,请参考以下文章

如何设置连接 URL 以连接到 HSQLDB 中的多个数据库

HSQLDB:.script 文件在多个项目执行[多线程环境]并行期间自动被删除?

如何限制多个嵌入式 HSQLDB 数据库实例整体使用的 RAM?

与内存数据库中的同一个 H2 建立多个连接[重复]

HSQLDB 数据库多连接

org.hsqldb.HsqlException:连接异常:连接失败:java.io.EOFException