【问题标题】:how to connect to hsqldb which is instantiated through spring如何连接到通过spring实例化的hsqldb
【发布时间】:2013-06-19 16:53:48
【问题描述】:

我在 Maven 测试阶段使用嵌入式数据库来运行我的测试用例。我假设 Spring 必须启动 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 进行连接,但在那里看不到表格。

【问题讨论】:

标签: java database hsqldb embedded-database dbvisualizer


【解决方案1】:

jdbc:embedded-database URL 连接到进程内内存数据库,而不是服务器。

您需要单独启动一个面向内存数据库的服务器(一个单独的进程)。您可以在 HSQLDB 指南中找到有关如何执行此操作的信息。

http://www.hsqldb.org/doc/2.0/guide/listeners-chapt.html

您可以在 Spring 中使用普通的连接 URL,例如 jdbc:hsqldb:hsql://localhost/test 来连接服务器。您还可以使用相同的 URL 使用 DbVisualiser 连接到服务器。

【讨论】:

  • 谢谢。这有帮助。甚至我注意到 hsqld db 在 .\hsqldb\bin\runManagerSwing.bat 中有一个客户端。这也有助于连接到 db。
  • hsqldb 也可以基于归档,使用 jdbc:hsqldb:file:[path to db] 作为连接字符串
  • 请注意,要在服务器模式下运行 HSQLDB(允许来自外部客户端的连接),您不需要在单独的进程中启动它。您可以通过实例化 org.hsqldb.server.Server 对象将其嵌入到您的应用程序中。
猜你喜欢
  • 2018-02-10
  • 1970-01-01
  • 1970-01-01
  • 2021-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-29
  • 1970-01-01
相关资源
最近更新 更多