在DBeaver中,如何从两个不同的连接中运行SQL联合查询。

时间:2018-12-11 16:55:02

标签: dbeaver

我们最近将大型DB2数据库迁移到了新服务器。在迁移过程中,它进行了很多调整,例如将10年的数据缩减为3。但是现在我发现,在纳税季节结束之前,我需要从旧服务器获取某些数据。

如何在DBeaver中运行一个UNION查询,该查询从两个不同的连接中提取数据。

FROMJOIN关键字中的表标识符的正确语法是什么?

我在常规SQL工作中使用DBeaver,但是我无法确定如何在两个不同的连接上跨越UNION查询。但是,我也使用Microsoft Access,在那里我通过两个传递给本地Microsoft Access联合查询的传递查询轻松地做到了这一点。

但是如何在DBeaver中做到这一点?我不明白如何同时使用两个连接。

例如,这是我的联系:

enter image description here

我需要这样的东西...

SELECT      *
FROM        ASP7.F_CERTOB.LDHIST 
UNION
SELECT      *
FROM        OLD.VIPDTAB.LDHIST 

...但是我收到以下错误,我对它说“不开玩笑!这就是我想要的!”,大声笑... =-)

SQL Error [56023]: [SQL0512] Statement references objects in multiple databases.

这怎么办?。

1 个答案:

答案 0 :(得分:2)

这不是DBeaver的功能。 DBeaver只能访问数据库提供的数据,并且一次只能将其限制为单个连接(保存导入/导出操作)。此功能为being considered for development,因此请注意此答案在2019年的某个时候过时。

您可以使用DBeaver从OLD数据库中导出数据并将其导入ASP7(尽管为此通常使用供应商工具更为有效)。然后,您可以按照建议进行合并。

许多RDBMS提供了一种逻辑访问外部数据库的方式,就好像它们是本地的一样,在这种情况下,DBeaver便能够访问OLD数据库中的数据(就这种情况而言,就DBeaver而言,所有数据都是来自单个连接)。例如,在Postgres中,可以使用外部数据包装器来访问外部数据。

我对DB2不熟悉,但是Google的快速搜索建议您可以使用nicknamesthree-part-names在DB2中建立外部连接。