2016-06-13 61 views
0

我正在使用嵌入式HSQL作为我的Java应用程序的数据库。并连接到通过Hibernate的数据库,下面是hibernate.cfg.xml文件条目,如何在应用程序外部连接/查询HSQL数据库?

<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

但是当我火了一个选择查询的表格显示错误为:

用户缺少权限或对象不是fou nd:table_name [SQL状态= 42501,数据库错误代码= -5501]

那么,我需要做什么来连接我的嵌入式数据库吗?

回答

1

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

JDBC:HSQLDB:文件:C:\软件\月食-jee-mars-1-win32 \ eclipse \ testdb

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

相关问题