在 DBeaver 中,如何从两个不同的连接中 运行 一个 SQL 联合查询..?
In DBeaver, how can I run an SQL union query from two different connections..?
我们最近将大型 DB2 数据库迁移到新服务器。它在迁移过程中被削减了很多,例如 10 年的数据被削减为 3 年,仅举几例。但现在我发现我需要旧服务器的某些数据,直到税收季节结束。
我如何在 DBeaver 中 运行 一个 UNION
查询从两个不同的连接中提取数据..? FROM
和 JOIN
关键字中 table 标识符的正确语法是什么?
我将 DBeaver 用于我的常规 SQL 工作,但我无法确定如何跨两个不同的连接跨越 UNION
查询。但是,我也使用 Microsoft Access,并且我很容易地使用两个传递查询将其提供给本机 Microsoft Access 联合查询。
但是如何在 DBeaver 中做到这一点..?我无法理解如何同时使用两个连接。
例如,这是我的联系人:
我需要这样的东西...
SELECT *
FROM ASP7.F_CERTOB.LDHIST
UNION
SELECT *
FROM OLD.VIPDTAB.LDHIST
...但是我收到以下错误,对此我说 "No kidding! That's what I want!",哈哈... =-)
SQL Error [56023]: [SQL0512] Statement references objects in multiple databases.
这怎么能做到..?
这不是 DBeaver 的功能。 DBeaver 只能访问数据库提供给它的数据,并且一次只能访问一个连接(import/export 操作除外)。此功能是 being considered for development,因此请留意此答案是否会在 2019 年某个时候过时。
您可以从旧数据库导出数据并使用 DBeaver 将其导入 ASP7(尽管为此提供的供应商工具通常更有效)。然后你就可以按照建议做你的工会了。
许多 RDBMS 提供了一种逻辑访问外部数据库的方法,就好像它们是本地数据库一样,在这种情况下,DBeaver 将能够访问旧数据库中的数据(就 DBeaver 而言,在这种情况下,所有数据来自单个连接)。例如,在 Postgres 中,可以使用外部数据包装器来访问外部数据。
我不熟悉 DB2,但快速 Google 搜索表明您可以使用 nicknames or three-part-names.
在 DB2 中设置外部连接
如果您检查这个 github 问题:
https://github.com/dbeaver/dbeaver/issues/3605
解决这个问题的方法是创建一个任务并在不同的连接中执行它:
https://github.com/dbeaver/dbeaver/issues/3605#issuecomment-590405154
我们最近将大型 DB2 数据库迁移到新服务器。它在迁移过程中被削减了很多,例如 10 年的数据被削减为 3 年,仅举几例。但现在我发现我需要旧服务器的某些数据,直到税收季节结束。
我如何在 DBeaver 中 运行 一个 UNION
查询从两个不同的连接中提取数据..? FROM
和 JOIN
关键字中 table 标识符的正确语法是什么?
我将 DBeaver 用于我的常规 SQL 工作,但我无法确定如何跨两个不同的连接跨越 UNION
查询。但是,我也使用 Microsoft Access,并且我很容易地使用两个传递查询将其提供给本机 Microsoft Access 联合查询。
但是如何在 DBeaver 中做到这一点..?我无法理解如何同时使用两个连接。
例如,这是我的联系人:
我需要这样的东西...
SELECT *
FROM ASP7.F_CERTOB.LDHIST
UNION
SELECT *
FROM OLD.VIPDTAB.LDHIST
...但是我收到以下错误,对此我说 "No kidding! That's what I want!",哈哈... =-)
SQL Error [56023]: [SQL0512] Statement references objects in multiple databases.
这怎么能做到..?
这不是 DBeaver 的功能。 DBeaver 只能访问数据库提供给它的数据,并且一次只能访问一个连接(import/export 操作除外)。此功能是 being considered for development,因此请留意此答案是否会在 2019 年某个时候过时。
您可以从旧数据库导出数据并使用 DBeaver 将其导入 ASP7(尽管为此提供的供应商工具通常更有效)。然后你就可以按照建议做你的工会了。
许多 RDBMS 提供了一种逻辑访问外部数据库的方法,就好像它们是本地数据库一样,在这种情况下,DBeaver 将能够访问旧数据库中的数据(就 DBeaver 而言,在这种情况下,所有数据来自单个连接)。例如,在 Postgres 中,可以使用外部数据包装器来访问外部数据。
我不熟悉 DB2,但快速 Google 搜索表明您可以使用 nicknames or three-part-names.
在 DB2 中设置外部连接如果您检查这个 github 问题:
https://github.com/dbeaver/dbeaver/issues/3605
解决这个问题的方法是创建一个任务并在不同的连接中执行它:
https://github.com/dbeaver/dbeaver/issues/3605#issuecomment-590405154