当您像这样连接到嵌入式本地 H2 数据库时:
jdbc:h2:./target/data/CATALOGA;
H2 使用数据库名称(此处为 CATALOGA)作为 CATALOG_NAME。这可以通过查询 INFORMATION_SCHEMA.CATALOGS 表看到。

是否可以拥有多个目录?

您不能插入 INFORMATION_SCHEMA 并且 H2 不允许 CREATE CATALOG 语句。

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

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

查询中直接包含目录/模式,我需要能够在 H2 上执行它们。

最佳答案

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

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

关于jdbc - 您可以在 H2 中创建多个目录吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25088998/

10-13 21:27