我第一次使用HSQL。当我使用HSQL数据库服务器引擎连接DatabaseMAnagerSwing时,我看到 PUBLIC 模式已经存在,并且它包含该模式下的一些表,例如Customers等。
我想知道当我将模式用作 HSQL数据库服务器引擎时,数据(即公共模式和该模式的表)存储在哪里?
有人可以解释一下吗?
此致
答案 0 :(得分:1)
将数据存储到文件中,就像在嵌入模式下运行HSQLDB一样。 要配置服务器管理的每个数据库的文件存储位置,您可以在启动服务器时提供command line arguments:
java -cp ../lib/hsqldb.jar org.hsqldb.server.Server --database.0 file:mydb --dbname.0 xdb
或诉诸Properties Files:
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
连接层独立于物理层。这意味着您可以访问最初由嵌入模式下的服务器进程创建的数据库文件,反之亦然。
答案 1 :(得分:1)
Anthony的答案涵盖了如何指定数据库文件的位置。
Re:“看到PUBLIC架构已经存在,它包含该架构下的一些表,例如Customers等。”
PUBLIC架构已存在于新数据库中。但是,当您单击DatabaseManager菜单中的“选项”项并从下拉菜单中选择“插入测试数据”时,您看到的表是由您创建的。
在未指定数据库文件位置的情况下启动HSQLDB的Server实例时,将在执行启动服务器的Java命令的目录中创建文件。
数据库可以包含多个模式。所有模式都存储在同一组数据库文件中。