HyperSQL Server 2.4.1在运行时创建新数据库

时间:2018-10-17 10:29:08

标签: database configuration hsqldb hypersql

我有一个简短的问题。 HSQL Server运行时是否可以添加新数据库?

快速查看:

  • 当HSQL Server正在启动(通过runServer.bat文件)具有数据库配置的server.properties加载时,
  • 在服务器运行时期间,我想添加新的数据库(例如来自Java应用程序),而无需重新启动数据库服务器等。
  • 我尝试向服务器添加许多属性(例如remote_open),但我总是得到: “ [[Thread [HSQLDB连接@ 52859374,5,HSQLDB连接@ 754ba872]]:数据库别名=不存在” 因为它尝试连接到预期的数据库而不是创建它...

有可能吗?

许多数据库系统都很容易,但是对于HSQL,我什么都找不到...

1 个答案:

答案 0 :(得分:0)

您需要以特殊的remote_open模式启动服务器,该模式允许打开新数据库。另外,在连接时,您需要指定新数据库的文件路径。启动服务器后,检查消息remote-open。然后使用这样的URL jdbc:hsqldb:hsql://localhost/testx;file:mytextxfile连接URL testx是数据库的网络ID,file:mytextxfile是数据库文件的文件路径。

启动时的服务器消息:

[Server@4c5e176f]: Startup sequence initiated from main() method
[Server@4c5e176f]: Loaded properties from [C:\ft\hsqldb_w_1_8_0_n_work\server.properties]
[Server@4c5e176f]: [Thread[main,5,main]]: start() entered
[Server@4c5e176f]: [Thread[HSQLDB Server @4c5e176f,5,main]]: run() entered
[Server@4c5e176f]: Initiating startup sequence...
[Server@4c5e176f]: [Thread[HSQLDB Server @4c5e176f,5,main]]: server.maxdatabases=10
[Server@4c5e176f]: [Thread[HSQLDB Server @4c5e176f,5,main]]: server.remote_open=true
[Server@4c5e176f]: [Thread[HSQLDB Server @4c5e176f,5,main]]: server.tls=false
....

连接到新数据库时的服务器消息:

[Server@4c5e176f]: [Thread[HSQLDB Connection @63db6942,5,HSQLDB Connections @4c5e176f]]: 2:Trying to connect user 'SA' to DB (testx;file:mytextxfile)
[Server@4c5e176f]: [Thread[HSQLDB Connection @63db6942,5,HSQLDB Connections @4c5e176f]]: 2:Connected user 'SA'