我正在增強現有的Java應用程序。在2個不同的DB2數據庫中有數據。該應用程序已經從2個不同的數據庫獲取數據,但它總是從一個然後另一個進行查找。有沒有辦法使用一個SQL SELECT連接來自2個不同DB2數據庫的數據?我可以從2個不同的DB2數據庫中加入數據嗎? (像SQL Server連接數據庫)
這是我的嘗試:
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可能的幫助。我能夠創建一個。現在我需要(睡覺)並嘗試選擇它,然後做我的加入。
如果你把一部分可以碰上一個子查詢,並加入了嗎? – 2013-02-28 02:56:46
不錯的想法,但我嘗試使用'where exists'子選擇同樣的錯誤結果。 – Jess 2013-02-28 03:24:51
我不認爲臨時表的想法會起作用。問題是會話是連接特定的。如果要編寫代碼以選擇臨時表,然後將連接更改爲不同的模式,則臨時表將不再可用,因爲您將獲得新的會話。 – Jess 2013-07-01 19:52:15