如何在仅内存模式下运行HSQLDB服务器

Jur*_*ass 9 java hsqldb

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

如何运行仅内存的HSQLDB服务器?

我跑了以下但没有任何线索.

java -cp ../lib/hsqldb.jar org.hsqldb.Server -?
Run Code Online (Sandbox Code Playgroud)

Sha*_*nce 10

我花了大约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();
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

下载hsqldb-xxx jar并将其复制到一个文件夹(xxx是版本)打开一个终端或命令提示符并cd到该文件夹​​并运行

java -cp hsqldb-x.x.x.jar org.hsqldb.util.DatabaseManagerSwing
Run Code Online (Sandbox Code Playgroud)

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

快乐编码!!
DbManagerSwing UI


Chi*_*hii 6

使用 java -cp .\hsqldb-1.8.0.10.jar org.hsqldb.Server -database.0 mem:aname

在内存模式由连接URL指定 - 所以如果你想,你可以在同一目录中有一个server.properties文件,并设置连接url使用mem协议 - 或者如果你在另一个允许的应用程序中使用hsqldb你要指定连接url,例如jdbc,指定jdbc:hsqldb:mem:aname.