HSQLDB 2.2.9:理解 server.properties 文件

Posted

技术标签:

【中文标题】HSQLDB 2.2.9:理解 server.properties 文件【英文标题】:HSQLDB 2.2.9: understanding server.properties file 【发布时间】:2013-04-03 08:54:28 【问题描述】:

我在 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 是一个空目录。到目前为止一切顺利。


但是在以下情况下我无法理解超级 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

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

谢谢,

杰森定位

【问题讨论】:

【参考方案1】:

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

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

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

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

【讨论】:

谢谢,这个答案很有帮助。

以上是关于HSQLDB 2.2.9:理解 server.properties 文件的主要内容,如果未能解决你的问题,请参考以下文章

在 hsqldb 2.2.9 中更新视图

HSQLDB 索引不一致

hsqldb休眠持久化@Lob

SQLSyntaxErrorException:由于 HSQLDB 中的“COALESCE”导致的数据类型异常

在不使用 JOIN 的情况下在 HSQLDB 中进行透视

hsqldb 是不是支持 oracle 兼容模式下的表别名