创建多个HSQLDB服务器数据库的最简单方法是什么?

Ven*_*min 6 java sql database linux hsqldb

有更简单的方法吗?要启动许多数据库,我们可以创建简单的文件" start.sh "

在开始使用之前为每个数据库创建单独的文件夹.

/选择/ DB /行李箱

的/ opt /分贝/主

下一个复制到" start.sh ":

#!/bin/sh
java -cp ./hsqldb/lib/hsqldb.jar  org.hsqldb.server.Server --database.0 file:/opt/db/master/master --dbname.0 master --database.1 file:/opt/db/trunk/trunk --dbname.1 trunk
Run Code Online (Sandbox Code Playgroud)

使此文件可执行:

chmod +x start.sh
Run Code Online (Sandbox Code Playgroud)

开始运行:

$ ./hsqdb.sh
Run Code Online (Sandbox Code Playgroud)

输出:

...
[Server@15c7850]: Database [index=0, id=0, db=file:/opt/db/trunk/trunk, alias=trunk] opened sucessfully in 426 ms.
[Server@15c7850]: Database [index=1, id=1, db=file:/opt/db/master/master, alias=master] opened sucessfully in 128 ms.
...
[Server@15c7850]: From command line, use [Ctrl]+[C] to abort abruptly
Run Code Online (Sandbox Code Playgroud)

因此,您将获得两个带别名的数据库:trunkmaster

示例如何配置HSQL数据库管理器:

键入:HSQL数据库引擎服务器

驱动程序:org.hsqldb.jdbcDriver

URL:jdbc:hsqldb:hsql:// localhost:9001/trunk

用户:SA

密码:

您可以将别名主干更改为另一个别名

JDBC URL连接:

jdbc:hsqldb:hsql:// localhost:9001/trunk

jdbc:hsqldb:hsql:// localhost:9001/master

hag*_*age 1

您可以编写一个更通用的脚本来启动数据库。

关于脚本必须执行的步骤的一些想法

  1. 接受参数列表
  2. 宣布start_string。初始化为java -cp ./hsqldb/lib/hsqldb.jar org.hsqldb.server.Server
  3. 第一个参数可以是包含每个数据库的文件夹的文件夹的路径(例如/opt/db/
    • 第一个之后的所有参数都被视为数据库名称
  4. 迭代所有数据库名称并在父文件夹(第一个参数)中创建数据库文件夹(如果该文件夹尚不存在)
    • 附加--database.<counter_variable> file:<parent_folder>/<db_name>/<db_name> --dbname.<counter_variable> <db_name>start_string
  5. 执行start_string

然后,您可以将数据库名称列表传递给您的程序,该程序将使用 URL 连接到它们:jdbc:hsqldb:hsql://localhost:9001/<db_name>