Получить системный IP-адрес и порт для DB2 ODBC DSN

Моя программа написана на VB.Net и подключается к DB2 через ODBC. Для других соединений ODBC мы смогли получить IP-адрес хоста через реестр.

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ ODBC \ ODBC.INI \

У DB2, похоже, нет этой информации, поэтому мне интересно, есть ли способ получить ip через соединение ODBC.

Теперь я также понимаю, что есть способ получить эту информацию через процессор командной строки DB2, запустив комбинацию list db directory а потом list node directory, но мне интересно, есть ли более простой способ через ODBC или, возможно, какой-нибудь DB2 SQL Command... Спасибо за помощь!

1 ответ

Вы можете получить имя хоста для сервера DB2, используя следующую инструкцию SQL:

select host_name, adapter_name from TABLE(ENV_GET_NETWORK_RESOURCES())

Если вы знаете, какое имя адаптера, то есть eth0, eth1, ..., ethN вы хотите, вы можете добавить предикат

WHERE adapter_name like '<adapter>%'

Примером является:

db2 "select substr(host_name,1,20) as host, substr(adapter_name,1,10) as adapter from TABLE(ENV_GET_NETWORK_RESOURCES())"

HOST                 ADAPTER   
-------------------- ----------
dbms                 eth0      
dbms                 lo        

  2 record(s) selected.
Другие вопросы по тегам