一.与本地
服务器的连接方式
与本地数据库服务器有两种连接方式:
1.1.通过共享内存。当应用和数据库服务器在同一台主机上时,推荐使用这种方式。在这种方式下,应用与online系统连接到同一段共享内存。应用把消息放到该段上供online处理,online处理完后再把结果放回到该段,让应用取走。
1.2.使用套接字(sockets)或TLI编程接口,通过TCP/IP连接。无论是本地还是远程连接都可以使用这种方式。当应用和数据库服务器在同一台主机上时,informix采用网络的回送机制。
配置参数和环境变量的设置取决于应用与数据库服务器的连接方式。
采用共享内存作为本地连接的好处是性能较好。但是存放信息的共享内存段并不安全。因为用户可以有意无意的破坏该段。因此,如果一个系统对安全性要求较高。就应使用TCP/IP的连接方式。
二.与online的远程连接
应用与远程online系统连接,必须通过TCP/IP或IPX/SPX。通过TCP/IP与online系统连接的同时,也可以通过共享内存方式与online连接。即可以用混合方式连接到online系统。
三.通过TCP/IP的远程连接
informix通过以下接口与TCP/IP通讯
sockets
TLI(Transport Layer Interfaces)
套接字和TLI(transport layer interface)是用于控制应用层和网络层的接口。它们的调用相似,并可以完成相同的任务(例如:连接数据、收发数据)。可以查看$INFORMIXDIR/release目录下的文件以便确定你的硬件平台提供了哪种接口。
四.客户如何连接
当应用要与数据库服务连接时,必须设置一些基本的连接信息。这些信息存储在$INFORMIXDIR/etc/sqlhosts文件中,该文件须由online系统管理员维护。
应用必须设置informixserver环境变量。该变量值指向sqlhosts文件的一个入口。对于和online的一个连接,该值就是online配置文件的DBSERVERNAME的值,它可以是sqlhosts文件中任意一个唯一的名字。
一旦应用在sqlhosts文件中找到了正确的入口,它就可以获得与数据库服务器连接的必要信息。
如果应用与数据库服务器在不同的机器上,那么每台机器上都应有sqlhost文件。因为数据库服务器在初始化需要该文件。
四.使用TCP/IP客户需要注意什么?
4.1.如果使用TCP/IP方式连接,则要提供以下信息:
主机在哪?informix需要主机的Internet地址,该地址存储在/etc/hosts中。这个Internet是用"."分隔的一组数字。
主机上的端口号。端口号被客户机用来指明它想和主机上的哪个服务器连接。主机上总有一个侦听进程在监听这个端口号,等待来自客户机的连接要求。该端口号在/etc/services文件中必须唯一。
与主机相连的程序接口,或者是套接字,或者是TLI。
4.2.TCP/IP连接的sqlhosts文件
dbservername:它是online的配置文件中的DBSERVERNAME值或DBSERVERALIASES值之一,它也是在启动之前设置的INFORMIXSERVER环境变量的值。
nettype:对于TLI应为ontlitcp,对于套接字应为onsoctcp。
hostname:数据库服务器所在主机名。该值通常作为键值,以便在/etc/hosts文件中查找该主机IP地址。
servername:与主机相连的服务的名字。该值通常作为键值,以便在/etc/services文件中查找端口号及协议。