如何在应用程序外部连接/查询 HSQL 数据库?
Posted
技术标签:
【中文标题】如何在应用程序外部连接/查询 HSQL 数据库?【英文标题】:How to connect/query HSQL database outside application? 【发布时间】:2016-06-13 08:46:43 【问题描述】:我使用嵌入式 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
但是当我为其中一个表触发选择查询时,它会显示错误,
用户缺少权限或找不到对象:table_name [SQL State=42501, DB Errorcode=-5501]
那么我需要做任何特定的配置来连接我的嵌入式数据库吗?
【问题讨论】:
【参考方案1】:我在 URL 中提供了错误的信息,要连接到基于文件的 HSQL 数据库,如果您在 Windows 上,您必须提供如下 URL,
jdbc:hsqldb:file:C:\Softwares\eclipse-jee-mars-1-win32\eclipse\testdb
需要提及数据库文件的完整路径。它现在对我来说工作正常。 同样对于进程内文件模式,只能进行一个连接。下面的链接帮助我解决了这个问题,HSQL jdbcConnection class Documentation
【讨论】:
以上是关于如何在应用程序外部连接/查询 HSQL 数据库?的主要内容,如果未能解决你的问题,请参考以下文章