Функция IP-адреса клиента DB2 400 в запросе SQL

Есть ли в DB2 400 функция SQL, которая возвращает IP-адрес клиента? IP-адрес клиента, который выполняет запрос

Спасибо

4 ответа

Создайте пользовательскую функцию, которая будет вызывать системный API.

Используйте API получения информации о задании (QUSRJOBI), особенно для заданий сервера DB2, который может сказать вам, выполняется ли SQL в задании "Сервер", и, если да, то какой IP-адрес клиента IPv4 или IPv6. См. Примечания под форматом JOBI0900 по приведенной ссылке API. Вы можете использовать формат QUSRJOBI JOBI0600 для интерактивных заданий типа 5250, если используется IPv4.

Если у вас есть интерактивное задание и используется IPv6, вам может потребоваться API Получить описание устройства (QDCRDEVD).

Не существует специального специального регистра, который содержит IP-адрес клиента. Возможно, вы сможете создать хранимую процедуру для вызова API задания, чтобы получить эту информацию.

Нет.

Если SQL выполняется из интерактивного задания, вы можете написать хранимую процедуру, которая будет вызывать QDCRDEVD, и таким образом получить IP-адрес. Если это не соответствует вашим потребностям, возможно, вы могли бы поделиться суть бизнес-проблемы. Там может быть другой способ приблизиться к решению.

Прочитав документацию по DB2 для IBM I, я подумал, что можно использовать приведенный ниже SELECT со встроенной глобальной переменной, но полученное значение IP не является IP-адресом моей рабочей станции. Опять же, я дома прохожу через корпоративный VPN и брандмауэр.

      SELECT SYSIBM.CLIENT_IPADDR  
  FROM SYSIBM.SYSDUMMY1
Другие вопросы по тегам