在 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/