在 HSQLDB 的文档中是一个命令行语句来启动一个 HSQLDB 服务器(HSQLDB Doc)。但是有这个“文件:mydb”属性,所以我假设它不是仅内存模式。
如何运行仅内存的 HSQLDB 服务器?
我跑了以下但不知道。
java -cp ../lib/hsqldb.jar org.hsqldb.Server -?
在 HSQLDB 的文档中是一个命令行语句来启动一个 HSQLDB 服务器(HSQLDB Doc)。但是有这个“文件: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-xxx jar 并将其复制到文件夹(xxx 是版本)打开终端或命令提示符并 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 用户界面
采用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
.
我相信该文件用于将数据库加载到内存中,然后在服务器停止时持续存在。我认为您在运行时不会访问该文件。
自从我使用 HSQLDB(或 H2)以来已经有一段时间了,但我很确定它就是这样工作的。