HSQLDB 2.2.9:了解server.properties文件

时间:2013-04-03 08:54:28

标签: hsqldb

我在ubuntu Linux上运行hsqlddb 2.2.9,但我很难理解server.properties文件。在/ usr / local下安装了hsqldb,当我从我放置server.properties文件的地方用java org.hsqldb.server.Server启动服务器时,假设server.properties是:

server.database.0=file:/usr/local/hsqldb-2.2.9/hsqldb/hibernate/hiberdb
server.dbname.0=hiberdb

然后我得到一个子目录hibdernate,其标记为

hibderdb.{log,script,properties,tmp}

使用hibderdb.tmp一个空目录。到目前为止一切都很好。


但是在以下情况下我无法理解hyper sql db的逻辑:

假设server.properties是:

server.database.0=file:/usr/local/hsqldb-2.2.9/hsqldb/hibernate
server.dbname.0=hiberdb

然后hibderdb别名是ignode,我得到文件

hibernate.{log,properties,script,tmp}

在与server.properties文件相同的目录中(即在当前目录中)。

甚至以下内容:

server.database.0=file:/usr/local/hsqldb-2.2.9/hsqldb/hibernate/
server.dbname.0=hiberdb

然后我得到的是一个没有hibderdb。*文件的hibernate子目录,而是我有文件

hibernate/{.log,.properties,.script,.tmp}

(这些是隐藏的Unix文件,同样会忽略别名属性dbname。)

HSQLDB文档有一个例子:

http://hsqldb.org/doc/2.0/guide/listeners-chapt.html#lsc_server_props

server.database.1=file:/opt/db/mydb
server.dbname.1=enrolments

此示例是否过时或错误?

谢谢,

杰森波西特

1 个答案:

答案 0 :(得分:0)

server.dbname.0=hiberdb与属性文件中的另一行完全无关。

这个'别名'从客户端访问服务器时使用。

文档中的示例是正确的。外部数据库客户端正在处理它知道为“注册”的数据库别名,并且不需要知道您在服务器上存储文件的位置。

访问您的' hiberdb'无论您将文件放在何处,客户端始终都是通过jdbc:hsqldb:hsql://localhost/hiberdb之类的URL。