我正面临下一个问题。在我的公司,我们将Hypersonic数据库从Jboss迁移到TomEE服务器(apache-tomee-plus-7.0.1)。根据Hypersonic文档,所有必需的库都在服务器的lib目录中(默认情况下)。
我想,当服务器从配置开始以服务器模式(在特定端口上)开始运行Hypersonic数据库时,部署在同一服务器上的webapp可以连接到它。
这是我们在tomee.xml中的资源配置:
<Resource id="HSQLDB Database" type="DataSource">
jdbcDriver = org.hsqldb.jdbcDriver
jdbcUrl = jdbc:hsqldb:hsql://127.0.0.1:9001
userName = sa
password =
</Resource>
但是当服务器启动时,我们会收到下一个错误:
org.apache.openejb.assembler.classic.Assembler.createRecipe Creating Resource(id=HSQLDB Database)
16-Sep-2016 13:14:05.145 SEVERE [main] org.apache.tomcat.jdbc.pool.ConnectionPool.init Unable to create initial connections of pool.
java.sql.SQLTransientConnectionException: java.net.ConnectException: Connection refused: connect
有人可以告诉我我们做错了什么,以及我们如何在服务器模式下成功部署Hypersonic db on Tomee?
答案 0 :(得分:2)
我看到你没有指定数据库的名称和要连接的别名。以下两个网址都是&#39;应该运作良好。 HSQL数据库默认使用端口9001
。如果设置不同,则以下所有网址都应运行良好:
jdbc:hsqldb:hsql://localhost:9001/myDatabase
jdbc:hsqldb:hsql://127.0.0.1:9001/myDatabase
jdbc:hsqldb:hsql://localhost/myDatabase
jdbc:hsqldb:hsql://127.0.0.1/myDatabase
在使用Java连接数据库之前,您必须在终端中启动服务器:
java -cp C:/----/hsqldb-2.3.4/lib/hsqldb.jar org.hsqldb.server.Server --database.0 file:myDatabase --dbname.0 myDatabase
请勿忘记指定hsqldb.jar
的完整路径。