我有一个运行的HsqlDB服务器,我需要动态添加数据库别名到server.properties文件,而无需重新启动数据库服务器 . 可能吗?或者我是否需要关闭并重新启动整个HsqlDB服务器?
情况是我有一个包含许多数据库的单个HsqlDB服务器,以及许多Java Web应用程序,每个都使用自己的数据库 . 到目前为止,我无法在不重新启动整个HsqlDB服务器的情况下创建Web应用程序的新实例 .
我尝试使用以下JDBC URL:
jdbc:hsqldb:hsql://localhost;file:/srv/databases/db1
jdbc:hsqldb:hsql://localhost;file:/srv/databases/db2
etc...
但在这种情况下,所有的webapp都连接到同一个数据库(这是第一个连接到的数据库) . 我想在应用中使用:
jdbc:hsqldb:hsql://localhost/db1
jdbc:hsqldb:hsql://localhost/db2
我没有在文件中提到这些“问题” . 我哪里做错了?
谢谢
2 回答
您需要使用server.remote_open = true属性启动服务器 . 之后,需要包含URL以及文件路径 .
在指南中解释了一个例子:
http://hsqldb.org/doc/2.0/guide/listeners-chapt.html#lsc_remote_open
解决:如果我使用以下URL连接:
jdbc:hsqldb:hsql://localhost/databasea;file:/srv/databases/databasea
和
jdbc:hsqldb:hsql://localhost/databaseb;file:/srv/databases/databaseb
然后这两个连接实际连接到两个数据库 . 我的问题是我使用了相同的别名(// localhost) . 现在我在server.properties文件中不需要别名 .