Jdbc 能否在H2中创建多个目录?

Jdbc 能否在H2中创建多个目录?,jdbc,h2,Jdbc,H2,当您像这样连接到嵌入式本地H2数据库时: jdbc:h2:./target/data/CATALOGA H2使用数据库名称(此处为CATALOGA)作为目录名称。这可以通过查询INFORMATION_SCHEMA.CATALOGS表来查看 是否可以有多个目录 您无法插入信息模式,H2不允许使用CREATE CATALOG语句 背景信息是,我们有跨目录连接的查询。所以看起来像: select * from CATALOGA.dbo.example e inner join CATALOG

当您像这样连接到嵌入式本地H2数据库时:

jdbc:h2:./target/data/CATALOGA

H2使用数据库名称(此处为CATALOGA)作为目录名称。这可以通过查询INFORMATION_SCHEMA.CATALOGS表来查看

是否可以有多个目录

您无法插入信息模式,H2不允许使用
CREATE CATALOG
语句


背景信息是,我们有跨目录连接的查询。所以看起来像:

select * from CATALOGA.dbo.example e
    inner join CATALOGB.dbo.example2 e2 on e.fk = e2.fk

查询直接包含catalog/schema,我需要能够在H2上执行它们。

对于H2,catalog是一个数据库。在H2中,您可以在一个数据库中创建多个模式,但不能创建多个目录


当然,您可以创建多个数据库,但我想这不是您想要的,因为数据库是独立的。您可以使用该功能链接另一个数据库中的表,但链接的表仍在同一架构中。

我注意到了链接表功能,但文档中说,只能进行简单的选择。我想这在我的场景中是行不通的,因为我需要加入他们,对吗?我想知道,你在文档中哪里读到只有简单的选择是可能的?这听起来像是一个文档错误。的确,连接可能没有在实际数据库中执行时那么有效,但连接是可能的(以及更新、删除、插入)。我想我可能对该语句的解释有误。该部分说,
只对目标数据库执行简单语句,这意味着没有联接。
我认为这意味着不能联接到链接表。我明白了。我将更新文档并添加“包含连接的查询将转换为简单查询”是的,我只是满怀希望。我认为,对于我们中的一些人来说,我们使用h2作为生产的测试开发数据库和支持多个目录的qa数据库。即使它不是一个真正的目录,以某种方式复制它也是非常方便的。