【问题标题】:HSQLDB 2.2.9: understanding server.properties fileHSQLDB 2.2.9:理解 server.properties 文件
【发布时间】: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

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

谢谢,

杰森定位

【问题讨论】:

    标签: hsqldb


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 谢谢,这个答案很有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    • 2013-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多