如何在 JDBC URL 本身中设置 HSQLDB 的架构。
有点如何在 MySQL 中使用 jdbc:mysql://localhost:3306/
-编辑-
我当前的数据库 url 看起来像这样
jdbc:hsqldb:file:C:\\hsqldb\\dbname
在 dbanme 内部还有一个模式 newSchema,可以使用 set schema newSchema 进行设置,我如何使用 jdbc URL 本身进行设置。
您是否已经尝试过标准协议?"jdbc:hsqldb:hsql://[HOST]:[PORT]/myDBName" 你是如何连接的?通过独立应用程序还是通过创建资源?您可能已经看到了这一点,但如果没有完成,请在此处查看:http: //hsqldb.org/doc/2.0/guide/dbproperties-chapt.html#dpc_connection_url
我认为需要指定端口号,如图所示 //192.0.0.10:9500
更新:
我一直在做更多的测试。建议的解决方案似乎无效。
例如; 如果我将架构设置为,Test
我仍然可能不会在该架构中的表上使用 SQL。本质上,我放在那里的额外东西没有任何效果,即使我认为没关系。
select * from BOOKMARKS;
SEVERE SQL Error at '<stdin>' line 5:
"select * from BOOKMARKS"
user lacks privilege or object not found: BOOKMARKS
SquirrelSQL
有一个初始模式的选项,所以那里的查询工作正常。接受 URI但sqlTool
不更改/选择架构。有点令人沮丧的是,我看不到如何报告使用中的当前模式名称btw。
所以这个答案并不能解决问题;我把它留在这里是因为它会在下一个人找到挑战的好答案时节省他们的时间。
我也想做这个。例如,使用 mysql 的示例是:
mysql -h hostname:port schema
端口号,每个数据库一个端口。现在在 HSQLDB 中,URL 是 Catalog 中的一个数据库(这就是他们的拼写方式)。这是我想出的解决方案。我有 ...
在我的 RC 文件中,~/.config/sqltool.rc
...
urlid dev_test
url jdbc:hsqldb:hsql://localhost/dev;set schema test;
username programmer
password secret
我可以使用连接 ID dev_test链接到test
架构,正常默认是public
. 您可以使用以下命令运行 sql 工具:
java -jar /usr/lib/hsqldb/lib/sqltool.jar --rcFile=~/.config/sqltool.rc dev_tmp
该方法适用于 Groovy Sql连接:
url: 'jdbc:hsqldb:hsql://localhost/dev;set schema test',
...
就像我想要的那样工作。所以我能做的就是将我想要的模式附加到那个 URL 连接字符串。它可能不是解决方案,但它会按照您的描述进行。
查看连接协议:模式和目录都没有选项。因此目录将成为您的 URL 的一部分,例如。如果您使用文件库数据库,那就是一个目录。