我的程序是用VB.Net编写的,并通过ODBC连接到DB2。对于其他ODBC连接,我们已经能够通过注册表提取主机IP地址。
HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ ODBC \ ODBC.INI \
DB2似乎没有任何这些信息,所以我想知道是否有办法通过ODBC连接获取ip。
我现在也明白有一种方法可以通过运行list db directory
然后list node directory
的组合来通过DB2命令行处理器获取此信息,但我想知道是否存在通过ODBC或者某些DB2 SQL命令更简单的方法...感谢您的帮助!
答案 0 :(得分:0)
您可以使用以下SQL语句获取DB2服务器的主机名:
select host_name, adapter_name from TABLE(ENV_GET_NETWORK_RESOURCES())
如果你知道你想要什么adapter_name,即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.