为了支持本地和远程访问数据库服务器,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 计算机上创建服务器之后,需要在 Solaris sqlhosts 文件中添加两个条目:
stellarsrv onipcshm stellar stellarsrv
stellarsrv_net ontlitcp stellar stellarsrv_stellar
要从 HP-UX、AIX 或 Linux 系统访问 stellarsrv 服务器,必须将以下行复制到每个其他平台上的 sqlhosts 文件:
stellarsrv_net onsoctcp stellar stellarsrv_stellar