2012-12-22 131 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