我有一个简单的问题。HSQL 服务器运行时是否可以添加新数据库?
快速查看:
- 当 HSQL 服务器启动(通过运行服务器.bat文件(服务器时,正在加载具有数据库配置的属性,
- 在服务器运行时,我想添加新数据库(例如来自 Java 应用程序(,而无需重新启动数据库服务器等。
- 我尝试向服务器添加许多属性(例如remote_open(,但我总是得到: "[线程 [HSQLDB 连接 @52859374,5,HSQLDB 连接 @754ba872]]:数据库别名 = 不存在" 因为它尝试连接到预期的数据库而不是创建它...
可能吗?
许多数据库系统都很容易,但对于 HSQL,我找不到任何东西......
您需要以特殊的remote_open
模式启动服务器,该模式允许打开新数据库。此外,还需要在连接时指定新数据库的文件路径。服务器启动后,检查消息中是否有remote-open
。然后使用如下所示的 URL 进行连接jdbc:hsqldb:hsql://localhost/testx;file:mytextxfile
URLtestx
是数据库的网络 ID,file:mytextxfile
是数据库文件的文件路径。
启动时的服务器消息:
[Server@4c5e176f]: Startup sequence initiated from main() method
[Server@4c5e176f]: Loaded properties from [C:fthsqldb_w_1_8_0_n_workserver.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'