【发布时间】:2013-02-28 02:44:52
【问题描述】:
我正在增强现有的 java 应用程序。在 2 个不同的 DB2 数据库中有数据。该应用程序已经从 2 个不同的数据库中获取数据,但它总是先从一个数据库中查找,然后再从另一个数据库中查找。有没有办法使用一个 SQL SELECT 连接来自 2 个不同 DB2 数据库的数据?
这是我尝试过的:
CREATE ALIAS remote_orders FOR remote_db.schema.orders;
select *
from myid.remote_orders a
inner join local_schema.parts b on (a.key = b.key)
with ur FETCH FIRST 200 ROWS ONLY
我收到此错误:
STATEMENT REFERENCE TO REMOTE OBJECT IS INVALID. SQLCODE=-512, SQLSTATE=56023, DRIVER=4.14.113
我可以用临时表做点什么吗?我可以毫无错误地运行此选择,但它对我没有帮助......(还)
select *
from myid.remote_orders
with ur FETCH FIRST 200 ROWS ONLY
编辑:
DB2 Temp Table 可能会有所帮助。我能够创建一个。现在我需要(上床睡觉)并尝试选择它,然后加入。
【问题讨论】:
-
如果将可以运行的部分放入子查询并加入它会怎样?
-
好主意,但我尝试使用
where exists子选择也得到相同的错误结果。 -
我认为临时表的想法行不通。问题是会话是特定于连接的。如果您想编写代码以选择临时表,然后将连接更改为不同的架构,则临时表不再可用,因为您获得了一个新会话。
标签: sql db2 linked-server