Tôi đang nâng cấp một ứng dụng java hiện có. Có dữ liệu trong 2 cơ sở dữ liệu DB2 khác nhau. Ứng dụng đã nhận dữ liệu từ 2 cơ sở dữ liệu khác nhau, nhưng nó luôn tìm kiếm từ một và sau đó. Có cách nào để nối dữ liệu từ 2 cơ sở dữ liệu DB2 khác nhau bằng một SQL SELECT không?Tôi có thể kết nối dữ liệu từ 2 cơ sở dữ liệu DB2 khác nhau không? (Giống như cơ sở dữ liệu được liên kết với SQL Server)
Đây là những gì tôi đã cố gắng:
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
tôi nhận được lỗi này:
STATEMENT REFERENCE TO REMOTE OBJECT IS INVALID. SQLCODE=-512, SQLSTATE=56023, DRIVER=4.14.113
Tôi có thể làm điều gì đó với một bảng tạm thời? Tôi có thể chạy chọn này không có lỗi, nhưng nó không giúp tôi ... (chưa)
select *
from myid.remote_orders
with ur FETCH FIRST 200 ROWS ONLY
EDIT:
Một DB2 Temp Table có thể giúp đỡ. Tôi đã có thể tạo ra một cái. Bây giờ tôi cần phải (đi ngủ) và thử chọn nó và THEN làm việc của tôi.
gì nếu bạn đặt các phần bạn có thể chạy vào một subquery và tham gia với nó? –
Ý tưởng hay, nhưng tôi đã thử sử dụng phần phụ 'where exist' cũng có cùng kết quả lỗi. – Jess
Tôi không nghĩ rằng ý tưởng bảng tạm thời sẽ hoạt động. Vấn đề là phiên là kết nối cụ thể. Nếu bạn muốn viết mã để chọn vào bảng tạm thời, sau đó thay đổi kết nối với một lược đồ khác, bảng tạm thời không còn khả dụng nữa, bởi vì bạn nhận được một phiên mới. – Jess