2012-12-22 90 views
1

我第一次使用HSQL。当我使用HSQL数据库服务器引擎连接DatabaseMAnagerSwing时,发现模式已经存在,并且在该模式下包含几个表格,例如Customers等。HSQL数据存储

我想知道数据在哪里(即公共架构和该架构的表格)当我使用模式时存储为HSQL数据库服务器引擎

有人可以解释一下吗?

问候,

回答

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 

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

+0

感谢您的回复。在我的情况下,因为我没有指定存储文件的位置,所以当我没有指定任何位置时,文件存储在何处,即文件存储的默认位置? – user182944

+0

根据[属性文件文档](http://www.hsqldb.org/doc/guide/ch04.html#N10A68),'server.database.0'的默认值是'test'。所以你会找到一个包含[附录C](http://www.hsqldb.org/doc/guide/apc.html)中描述的文件的测试文件夹。回答您的其他问题,数据库中的所有SCHEMAS将存储在该文件夹中,并使用相同的文件(例如'test.script' +'test.log')。请参阅[附录C](http://www.hsqldb.org/doc/guide/apc.html)了解更多信息。 –

+0

感谢您的信息:) – user182944

1

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

回复:“看到PUBLIC架构已经存在,并且包含该架构下的几个表,例如Customers等。”

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

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

数据库可以包含多个模式。所有模式都存储在同一组数据库文件中。

+0

感谢您的回复。 SCHEMA位置在哪里?它是在同一个文件中存储数据还是有不同的文件存在?如果我创建一个新的模式,那么这个新的模式将存储在哪个文件中?请让我知道那个位置。 – user182944