1

我在 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/{.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

这个例子是过时的还是错误的?

谢谢,

杰森·波西特

4

1 回答 1

0

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

从客户端访问服务器时使用此“别名”。

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

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

于 2013-04-03T17:49:52.607 回答