Springboot在内存中hsqlDb无法从sql浏览器中看到表

时间:2017-03-22 09:52:48

标签: spring-boot hsqldb

我在我的spring boot项目中使用内存hsqldb。以下是我的appliction.properties

的示例
spring.datasource.url=jdbc:hsqldb:mem  
spring.datasource.username=  
spring.datasource.password=  
spring.datasource.driver-class-name=org.hsqldb.jdbc.JDBCDriver  

当我启动我的应用程序时,它会在我的项目主目录中创建几个文件,如mem.script,mem.log mem.log包含它在数据库中执行的所有sql语句。每当从我的存储库类触发某些操作时它就会更新。功能作为一个整体是有效的,我甚至可以从这个hsqldb查询它的工作原理。

但是出于一些调试目的,我想通过某个数据库客户端(DBVisualizer)连接到这个数据库。当我尝试使用此mem.log文件连接(数据库类型:HSQLDB Embedded)时,我已成功连接,但无法在那里看到我的任何表。

我甚至尝试在我的应用程序中设置服务器,如上所述,
How to start HSQLDB in server mode from Spring boot application

即使在这种情况下,我也可以从DBVisualizer(数据库类型:HSQLDB服务器)连接,但看不到任何表。

如果我错过了什么,请告诉我。

由于

1 个答案:

答案 0 :(得分:0)

首先,您使用的url与没有文件的内存数据库(jdbc:hsqldb:mem:anyname)太相似,但它不是内存中的URL。

按照您链接的问题中的服务器模式说明进行操作。如果看不到表,请报告您的配置版本。请注意我在下面引用的配置参数:

<prop key="server.database.0">mem:testdb</prop>
<prop key="server.dbname.0">testdb</prop><!--DB name for network connection-->

并从DBVisualiser

连接此网址
jdbc:hsqldb:hsql://localhost/testdb