如何在应用程序外连接/查询HSQL数据库?

时间:2016-06-13 08:46:44

标签: hibernate database-connection hsqldb

我使用嵌入式HSQL作为Java应用程序的数据库。并通过Hibernate连接到数据库,下面是hibernate.cfg.xml文件条目,

<property name="hibernate.connection.url">jdbc:hsqldb:file:testdb;shutdown=true</property>
<property name="hibernate.connection.username">sa</property>
<property name="hibernate.connection.password"></property>
<property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>

我能够通过我的java应用程序连接到数据库,hibernate自动创建表,也将数据插入表中,因为当我通过应用程序查询表时,我可以在我的应用程序中看到它。

但是当我尝试通过SQL Workbench访问我的数据库时,它没有显示任何表格。它确实与以下属性相关联,

Driver - org.hsqldb.jdbcDriver  
URL - jdbc:hsqldb:file:testdb
UserName - sa
Password - 

连接后,它显示在下面的模式

  

*,INFORMATION_SCHEMA,PUBLIC,SYSTEM_LOBS

但是当我触发其中一个表的select查询时,它显示错误为

  

用户缺少未找到的权限或对象:table_name [SQL State = 42501,DB Errorcode = -5501]

那么我需要做哪些具体配置才能连接我的嵌入式数据库?

1 个答案:

答案 0 :(得分:1)

我在URL中提供了错误信息,要连接到基于文件的HSQL数据库,如果你在Windows上,你必须提供如下URL,

  

JDBC:HSQLDB:文件:C:\软件\蚀-JEE-MARS -1-的win32 \蚀\ TESTDB

需要提及数据库文件的完整路径。它现在对我来说很好。 此外,对于进程内文件模式,只能进行一个连接。以下链接帮我解决了问题,
HSQL jdbcConnection class Documentation