2013-06-22 42 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