2013-06-22 78 views
0

我正在使用嵌入式數據庫在maven測試階段運行我的測試用例。我假設Spring必須啓動HSQLDB服務器。我的假設是否正確?如何連接到通過彈簧實例化的hsqldb

<jdbc:embedded-database id="dataSource" type="HSQL"> 
    <jdbc:script location="classpath:schema.sql"/> 
    <jdbc:script location="classpath:data.sql"/> 
</jdbc:embedded-database> 

如何查看使用上述腳本在hsqldb中創建的模式/表?我嘗試通過DBVisulaizer進行連接,但我沒有在那裏看到表格。

+0

本文可能有幫助:http://stackoverflow.com/questions/591518/how-to-see-all-the-tables-in-an-hsqldb-database –

回答

1

jdbc:embedded-database URL連接到進程內存數據庫,而不是服務器。

您需要單獨啓動一個服務器(單獨的進程),該服務器面向內存數據庫。您可以在「HSQLDB指南」中找到有關如何執行此操作的信息。

http://www.hsqldb.org/doc/2.0/guide/listeners-chapt.html

你比使用正常的連接網址,如jdbc:hsqldb:hsql://localhost/test春連接到服務器。您也可以使用相同的URL通過DbVisualiser連接到服務器。

+0

謝謝。這有助於。即使我注意到hsqld db在。\ hsqldb \ bin \ runManagerSwing.bat中有一個客戶端。這也有助於連接到數據庫。 – Pankaj

+0

hsqldb也可以基於文件,使用jdbc:hsqldb:file:[path to db]作爲連接字符串 – jorrebor

+0

請注意,要在服務器模式下運行HSQLDB(允許來自外部客戶端的連接),您無需啓動它在一個單獨的過程中。你可以通過實例化一個'org.hsqldb.server.Server'對象來將它嵌入到你的應用程序中。 – pacoverflow