6

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

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

/opt/db/trunk

/opt/db/master

下一份复制到“ 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

使该文件可执行:

chmod +x start.sh

开始运行:

$ ./hsqdb.sh

输出:

...
[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

所以你会得到两个有别名的数据库:trunkmaster

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

类型:HSQL 数据库引擎服务器

驱动:org.hsqldb.jdbcDriver

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

用户:SA

密码:

您可以将别名中继更改为另一个别名

JDBC URL 连接:

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

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

4

1 回答 1

1

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

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

  1. 接受参数列表
  2. 声明start_string。初始化java -cp ./hsqldb/lib/hsqldb.jar org.hsqldb.server.Server
  3. 第一个参数可以是包含每个数据库的文件夹的文件夹的路径(例如/opt/db/
    • first 之后的所有参数都被视为数据库名称
  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>

于 2012-07-05T07:50:08.853 回答