java - 如何在纯内存模式下运行 HSQLDB 服务器

标签 java hsqldb

在 HSQLDB 的文档中有一条启动 HSQLDB 服务器的命令行语句 (HSQLDB Doc)。但是有这个“file:mydb”属性,所以我假设它不是在内存模式下。

如何运行纯内存 HSQLDB 服务器?

我运行了以下但没有得到任何线索。

java -cp ../lib/hsqldb.jar org.hsqldb.Server -?

最佳答案

我花了大约 2 天的时间才弄清楚如何在内存中启动服务器然后从外部访问。希望这会节省一些人的时间。

Server server = new Server();
server.setDatabaseName(0, "mainDb");
server.setDatabasePath(0, "mem:mainDb");
server.setDatabaseName(1, "standbyDb");
server.setDatabasePath(1, "mem:standbyDb");
server.setPort(9001); // this is the default port
server.start();

当您必须为任何 CRUD 访问内存数据库时,您需要执行以下操作:-

String url="jdbc:hsqldb:hsql://192.168.5.1:9001/mainDb";
Class.forName("org.hsqldb.jdbc.JDBCDriver");
Connection conn = DriverManager.getConnection(url, "SA", "");

其中 192.168.5.1 是运行 HSQL 的服务器 ip。要连接到 standbyDb,请在第一行中将 mainDb 替换为 standbyDb。获得连接后,您可以执行所有与数据库相关的操作。

要使用 DatabaseManagerSwing 从远程连接到服务器,您需要执行以下操作。

下载hsqldb-x.x.x jar,复制到一个文件夹中(x.x.x是版本) 打开终端或命令提示符并 cd 到文件夹并运行

java -cp hsqldb-x.x.x.jar org.hsqldb.util.DatabaseManagerSwing

从“类型”下拉列表中选择“HSQL 数据库引擎服务器”,并将“jdbc:hsqldb:hsql://192.168.5.1:9001/mainDb”作为 URL。这会将您连接到远程 HSQL 内存服务器实例。

快乐编码!
DbManagerSwing UI

关于java - 如何在纯内存模式下运行 HSQLDB 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1497855/

相关文章:

java - Android Studio 返回 "Could not find play-services-ads.aar"

java - Weblogic Spring 安全 "A universal match pattern ('/* *') defined before other patterns"

java.sql.SQLIntegrityConstraintViolationException Servlet

jakarta-ee - 当 ddl 生成为 create-or-extend-tables 时,hsqldb 无法与 eclipselink 一起使用

java - 如何解决 org.apache.commons.dbcp.SQLNestedException

java - 错误: User lacks privilege or object not found HSQLDB

java - 我的数据在哪里?安卓工作室

java - 为什么 HashMaps 10 get() 调用性能注释比单个 get() 性能差 10 倍

Java SQL更新语法错误

java - 如何检查模式是否由 <jdbc :embedded-database> tag 创建