Ulepszam istniejącą aplikację Java. Istnieją dane w 2 różnych bazach danych DB2. Aplikacja pobiera już dane z 2 różnych baz danych, ale zawsze wykonuje wyszukiwanie z jednego, a następnie drugiego. Czy istnieje sposób łączenia danych z 2 różnych baz danych DB2 za pomocą jednego SQL SELECT?Czy mogę dołączyć dane z 2 różnych baz danych DB2? (Jak bazy danych połączonych z SQL Server)
To co próbowałem:
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
otrzymuję ten błąd:
STATEMENT REFERENCE TO REMOTE OBJECT IS INVALID. SQLCODE=-512, SQLSTATE=56023, DRIVER=4.14.113
mogę zrobić coś z tabeli temp? mogę uruchomić ten select bez błędów, ale to mi nie pomoże ... (jeszcze)
select *
from myid.remote_orders
with ur FETCH FIRST 200 ROWS ONLY
EDIT:
DB2 Temp Table może pomóc. Udało mi się go stworzyć. Teraz muszę (iść do łóżka) i spróbować wybrać, a następnie robić moje dołączenie.
Co jeśli umieścić część może napotkasz podkwerendzie i dołączyć do niego? –
Przyjemny pomysł, ale próbowałem użyć pod-wybierz 'where exists' również z tym samym wynikiem błędu. – Jess
Nie sądzę, że pomysł na stół tymczasowy zadziała. Problem polega na tym, że sesja jest specyficzna dla połączenia. Jeśli chcesz napisać kod do wyboru w tabeli tymczasowej, a następnie zmienić połączenie na inny schemat, tabela tymczasowa nie będzie już dostępna, ponieważ otrzymasz nową sesję. – Jess