以下主题描述了绕过 TCP/IP 连接的端口和 IP 地址查找的某些方法。
#address hostname alias 555.12.12.12 smoke 98.555.43.21 odyssey 12.34.56.555 knight sales
#dbservername nettype hostname servicename options sales ontlitcp 12.34.56.789 sales_ol
#dbservername nettype hostname servicename options sales ontlitcp knight sales_ol
使用 IP 地址在某些情况下可能加速连接时间。 但是,由于计算机通常由其主机名标识,因此在主机名字段中使用 IP 地址不便于标识与条目相关联的计算机。
如果满足上述条件,您可以在数据库服务器使用的 hostname 字段中使用星号 (*) 作为通配符。当您在 hostname 字段中输入一个通配符时,数据库服务器可以在其主计算机上接受任何有效 IP 地址的连接。
#address hostname alias 123.45.67.81 texas1 123.45.67.82 texas2
如果客户机应用程序和数据库服务器共享 sqlhosts 信息,那么可以在 hostname 字段中同时指定通配符和主机名或 IP 地址(例如,*texas1 或 *123.45.67.81)。 客户机应用程序忽略通配符并使用主机名(或 IP 地址)来建立连接,并且数据库服务器使用通配符从任何 IP 地址接受连接。
通配符格式允许数据库服务器的侦听线程等待每块有效的网络接口卡上使用相同服务端口号的客户机连接。但是,等待多个 IP 地址的连接可能比等待特定主机名或 IP 地址的连接所需处理器时间更长。
图: 使用多块网络接口卡
#dbservername nettype hostname servicename options texas_srvr ontlitcp *texas1 pd1_on
#dbservername nettype hostname servicename options texas_srvr ontlitcp *123.45.67.81 pd1_on
#dbservername nettype hostname servicename options texas_srvr ontlitcp *texas2 pd1_on
#dbservername nettype hostname servicename options texas_srvr ontlitcp *123.45.67.82 pd1_on
#dbservername nettype hostname servicename options texas_srvr ontlitcp * pd1_on
客户机应用程序使用的连接信息必须包含显式的主机名或 IP 地址。iowa 上的客户机应用程序可以使用下列主机名中的任何一个:texas1、*texas1、123.45.67.81 或 *123.45.67.81。如果 hostname 字段中有通配符 (*),客户机应用程序会将其忽略。
kansas 上的客户机应用程序可以使用下列主机名中的任何一个:texas2、*texas2、123.45.67.82 或 *123.45.67.82。
对于 TCP/IP 网络协议,可以在服务名称字段中使用实际的 TCP 侦听端口号。
#dbservername nettype hostname servicename options sales ontlitcp knight 1543
在有些情况下,使用实际端口号可能会节省建立连接的时间。但是,对于 hostname 字段中的 IP 地址,使用实际端口号可能不便于对连接信息的管理。