Как указать библиотеку функции SQL в IBM i - PullRequest
1 голос
/ 13 июля 2011

В настоящее время я использую оператор SQL CONNECT для доступа к удаленной системе.При устранении неполадок я хотел бы видеть текущий список библиотек, поэтому я составил быстрый CL для его извлечения и подключил функцию SQL (с CREATE FUNCTION) для его вызова.

При входе в удаленныйнепосредственно к системе, и когда у меня есть библиотека, в которой находится функция, содержащаяся в списке библиотек (QGPL), она работает (выберите rtvlibl () из sysibm / sysdummy1).Однако при удаленном подключении (например, через STRSQL) QGPL отсутствует в списке библиотек, и он не может найти его в функции.

Я не могу указать библиотеку как процедуру - QGPL / RTVLIBL () - не удается в * SYS именовании.* Соглашение об именах SQL также не выполняется для QGPL.RTVLIBL ().

Я нахожусь на V6R1.

1 Ответ

3 голосов
/ 13 июля 2011

Попробуйте это, используя * соглашение об именах SQL:

CONNECT (systemname)
SET PATH=QGPL
SELECT RTVLIBL() FROM SYSIBM.SYSDUMMY1

Используя SET PATH, вы можете предоставить список библиотек, разделенных запятыми, для SQL, которые будут использоваться при поиске пользовательских функций.

ByКстати, я только что установил CONNECT между двумя системами V5R4, и в целевой системе я увидел работу сервера, которая выполняла мои удаленные запросы.Это задание (которое появилось в подсистеме QCMN), по-видимому, использует описание задания QDFTJOBD, так что, возможно, именно отсюда ваш список библиотек.

...