Получение данных из другой базы данных в рамках процедуры в DB2 - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть две базы данных DB1 и DB2, и я хочу вызвать хранимую процедуру в DB1 и получить данные из DB2.

 Create procedure diffdbtest()
 LANGUAGE SQL
 DYNAMIC RESULT SETS 1
 BEGIN
 DECLARE C1 CURSOR WITH RETURN FOR
 SELECT * FROM Db2.myschema.tabletest;
 OPEN C1
 END@

Я получаю Db2.myschema.tabletest не определен.

Обе базы данных имеют одного и того же пользователя и пароль (если возможно, как я могу использовать разных пользователей?)

Есть идеи, что не так?

Запуск DB2 Express v10.5 Windows

Спасибо.

1 Ответ

0 голосов
/ 29 ноября 2018

Насколько я знаю, единственный способ - использовать федерацию.Вам необходимо:

создать серверную оболочку для БД # 2, создать псевдоним для таблицы, которая ссылается на таблицу, тестирование таблицы, создать отображение пользователя и т. Д.

Затем вы можете получить доступ к этой таблице через псевдоним.Подробную информацию о том, как это сделать, можно найти в центре знаний: https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.data.fluidquery.doc/topics/tlsdb201.html

Надеюсь, это поможет.

Кевин См. Команда разработчиков гибридной облачной безопасности Db2

...