2

我第一次使用 HSQL。当我使用 HSQL 数据库服务器引擎连接 DatabaseMAnagerSwing 时,我看到一个PUBLIC模式已经存在,并且它包含该模式下的一些表,例如客户等。

我想知道当我将模式用作HSQL 数据库服务器引擎时,数据(即公共模式和该模式的表)存储在哪里?

有人可以解释一下吗?

问候,

4

2 回答 2

2

数据存储在文件中,就像在嵌入式模式下运行 HSQLDB 一样。要为服务器管理的每个数据库配置文件的存储位置,您可以在启动服务器时提供命令行参数:

java -cp ../lib/hsqldb.jar org.hsqldb.server.Server --database.0 file:mydb --dbname.0 xdb

或求助于属性文件

database.0=file:/opt/db/accounts
dbname.0=an_alias

database.1=file:/opt/db/mydb
dbname.1=enrollments

database.2=mem:adatabase
dbname.2=quickdb

连接层独立于物理层。这意味着您可以访问最初由服务器进程以嵌入式模式创建的数据库文件,反之亦然。

于 2012-12-24T12:15:32.453 回答
1

Anthony 的回答涵盖了如何指定数据库文件的位置。

回复:“看到一个 PUBLIC 模式已经存在,并且它包含该模式下的一些表,例如客户等。”

PUBLIC 模式已存在于新数据库中。但是,当您单击 DatabaseManager 菜单中的“选项”项并从下拉菜单中选择“插入测试数据”时,您看到的表是由您创建的。

当 HSQLDB 的 Server 实例在未指定数据库文件位置的情况下启动时,文件将在执行用于启动服务器的 Java 命令的目录中创建。

A database can contain multiple schemas. All schemas are stored in the same set of database files.

于 2012-12-24T14:48:08.427 回答