浅谈IBM DB2数据库如何迁移问题(3)
http://www.itjxue.com 2015-08-21 22:21 来源:未知 点击次数:
清单 3. 用户定义函数 HOST_NAME 的签名
>>--HOST_NAME--( )-------------><
该函数访问存储在 DBINFO 结构中的应用程序 ID 并解码客户机的 IP 地址(它是应用程序 ID 的一部分)。然后便使用 C 库函数“gethostbyaddr”来解析该 IP 地址的名称,该函数在必要时将访问名称服务器或其他源(比如 /etc/hosts)。
IP 地址是应用程序 ID 中前面 8 字节的编码,或者使用 "*LOCAL" 来代表本地连接。对于本地连接,解析的是 IP 地址为 127.0.0.1 的主机名。
注意:
由于 DRDA 的需求,如果非本地 IP 地址的第一个字符初始为‘0’到‘9’,就将之映射到字母‘G’到‘P’。而在该名称查找之前,要将该映射反过来进行。
清单 4 演示了 HOST_NAME 函数的执行。可以在“下载”小节中找到该脚本 host_name_example.db2 的源代码。
清单4. 测试函数 HOST_NAME( )
下面这个例子测试演示了用以获取本地连接主机名的函数的执行。
在该场景中,DB2 数据库驻留在一个本地 AIX 机器上。
地址 127.0.0.1 在 /etc/hosts 文件中被映射到计算机名 demoaix:
下一个例子测试演示了远程连接上的函数的执行。
在该场景中,DB2 数据库与上面一样驻留在同一 AIX 机器上。
到 AIX 上数据库的连接是由一个 Windows 2000 客户机建立的;
该客户机的名字为 mycomputer。