为同时支持对数据库服务器的本地和远程访问,ccmsrv create 命令将在 $CCM_HOME/informix/etc/sqlhosts 文件中创建以下两个数据库服务器条目:
dbservername nettype hostname dbservername
dbservername_net nettype hostname servicename
第一种条目类型用于本地连接(例如,同一计算机中引擎和数据库服务器的本地连接)。第二种条目类型用于通过套接字且使用 TCP/IP 的远程 (_net) 连接。例如,此条目用于和远程计算机上某个引擎建立网络连接。
例如,marathon 使用共享内存协议 (onipcshm) 以 marathon 身份进行连接,并且使用 Solaris TCP 协议 (ontlitcp) 以 marathon_net 身份进行连接。
marathon onipcshm marathon marathon
marathon_net ontlitcp marathon marathon_marathon
第四列包含本地连接的数据库服务器名称和网络连接的服务名称(如 services 文件中所定义)。
平台 | 本地 | 远程(套接字) |
---|---|---|
Solaris | onipcshm | ontlitcp |
AIX | onipcshm | onsoctcp |
Linux | onipcshm | onsoctcp |
对于 AIX 和 Linux,异构 UNIX 安装可共享 $CCM_HOME/informix/etc 目录的单个副本。因此,需要 $CCM_HOME/informix/etc/sqlhosts 文件的单个副本。由 ccmsrv create 添加到 sqlhosts 的条目对所有 UNIX 平台可见。
如果您未链接 $CCM_HOME/informix/etc 目录,那么在某个平台上创建服务器之后,必须将该平台的 sqlhosts 文件中的条目复制到其他平台的 sqlhosts 文件中。
通过 Solaris,Informix 支持的网络协议不同于 HP、AIX 或 Linux 平台。Solaris 的 sqlhosts 文件必须不同。如果您希望可以从其他平台访问服务器,那么在创建服务器之后,必须手工将条目添加到 sqlhosts 文件。
例如,在名为 moby 的 HP 计算机上创建服务器之后,在 HP 上的 sqlhosts 文件中将具有两个条目:
mobysrv onipcshm moby mobysrv mobysrv_net onsoctcp moby mobysrv_moby
如果希望从无法共享 sqlhosts 文件的 Solaris 平台中访问此服务器,必须将诸如以下内容的条目添加到 Solaris sqlhosts 文件:
mobysrv_net ontlitcp moby mobysrv_moby
类似地,在名为 stellar 的 Solaris 计算机上创建服务器之后,在 sqlhosts 文件中将具有两个条目:
stellarsrv onipcshm stellar stellarsrv stellarsrv_net ontlitcp stellar stellarsrv_stellar
要从 HP-UX、AIX 或 Linux 系统中访问 stellarsrv 服务器,您必须将以下行复制到每个平台上的 sqlhosts 文件:
stellarsrv_net onsoctcp stellar stellarsrv_stellar