2016-03-23 7 views
0

Mein Programm ist in VB.Net geschrieben und verbindet sich über ODBC mit DB2. Für andere ODBC-Verbindungen konnten wir die Host-IP-Adresse über die Registrierung abrufen.Hole System-IP und Port für DB2 ODBC DSN

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

DB2 scheint keine dieser Informationen zu haben, so frage ich mich, ob es einen Weg gibt, die IP über die ODBC-Verbindung zu erhalten.

Ich verstehe auch jetzt gibt es eine Möglichkeit, diese Informationen über den DB2-Befehlszeilenprozessor durch Ausführen einer Kombination von list db directory und dann list node directory zu bekommen, aber ich frage mich, ob es einen einfacheren Weg über ODBC oder vielleicht etwas DB2 SQL Befehl ... Danke für die Hilfe!

+0

Welche DB2 Version/Plattform? – mustaccio

Antwort

0

Sie können den Hostnamen für den DB2-Server erhalten, indem Sie die folgende SQL-Anweisung:

select host_name, adapter_name from TABLE(ENV_GET_NETWORK_RESOURCES()) 

Wenn Sie wissen, was adapter_name, dh eth0, eth1, ..., ethN Sie möchten, können Sie hinzufügen das Prädikat

WHERE adapter_name like '<adapter>%' 

Ein Beispiel ist:

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.