构造客户/服务结构的Informix数据库系统

软件世界

  在网络技术发展的支持下,银行及保险业计算机管理模式发生了重大改变。原来采用的集中方式,一台主机带多个终端的多用户系统,所有数据及处理均由主机完成,形成的小系统独立格局势必被打破。而C/S结构在网络支持下使企业计算机管理走向了数据共享、系统集成的管理模式。Informix是银行及保险业使用较多的数据库。本文以UNIX系统中的Informix数据库为例,详细说明应用服务器与数据库服务器间的配置实施。

  结构模式

  定制连接文件

  连接文件sqlhosts,其中的信息可以使Informix客户应用程序连接到网络上的Informix数据库服务器。它指定数据库服务器的名字、连接类型、主机名、服务名称。这是应用程序要与数据库服务器连接时,必须设置的一些基本的连接信息。下面我们将介绍每个域的含义,即在TCP/IP方式下每个域的设置方法。

  1.数据库服务器名是Online配置文件的DBSERVERNAME的值,它必须是sqlhosts文件中任意一个惟一的名字。如果是DBSERVERALIAS的值,可以在sqlhosts中有多个入口地址。只有在sqlhosts文件中列出的这些数据库服务器名,才是可以连接的有效的Online系统。

  2.连接类型(nettype)。该域包括有关连接到哪种数据库服务器、如何连接等的关键信息,该域有8个字母组成,分三段:

  头两个字母指明数据库服务器产品:

  -on表明数据库服务器是Online动态服务器。

  第三、四、五个字母指出连接时所用的程序接口:

  -ipc 表示进程间互相通信,并且它只用于本地连接。

  -tli 表示传输层接口,是TCP/IP连接的程序接口。

  -soc 表示套接字,是TCP/IP连接的程序接口。

  最后三个字母表示协议或IPC机制:

  -shm 表示共享内存方式连接。

  -tcp 表示TCP/IP协议。

  -spx 表示IPX/SPX协议。

  本地Client与远程Server连接时,Client端必须设置为TCP/IP方式连接,Nettype 对于TLI应为ontlitcp,对于套接字应为onsoctcp。可以通过$INFORMIXDIR/release目录下的文件,确定所使用平台的程序接口。

  3.主机名。该域指明数据库服务器所在位置。该值通常作为键值,以便在/etc/hosts文件中找到该主机IP地址。

  4.服务名称。Servicename是与主机相连的服务端口的名字。该值通常作为键值,以便在/etc/services文件中查找端口号及协议。

  表1给出了sqlhosts文件的一个入口例子。

  表1

  构造用户环境

  在用户使用Informix产品前,UNIX系统必须知道去何处寻找要访问的文件,对环境变量的最低要求是:

  IFORMIXDIR,它指向用户安装了Informix产品的目录或文件系统;

  PATH,它指定了目标文件(或Informix可执行文件)的位置;

  INFORMIXSQLHOSTS,该变量指定了Informix连接文件的位置及名称,缺省时该值是$INFORMIXDIR/etc/sqlhosts。对于多用户多系统连接,同时采用不同连接文件(sqlhosts)的客户(Clinet)系统,该变量是必需的。

  INFORMIXSERVER,该变量值实际上是指向sqlhosts文件的指针,指向sqlhosts文件的一个入口。对于Online的一个连接,该值就是Online配置文件的DBSERVERNAME的值,它可以是sqlhosts文件中任意一个惟一的值。该变量在任何时候都是必需的。

  典型配置为:

  INFORMIXDIR=/usr/informix

  INFORMIXSQLHOSTS=$HOME/sql hosts.client

  INFORMIXSERVER= dbservername

  PATH=/bin:/usr/bin:/etc:$HOME:$IN FORMIXDIR/bin:$HOME/bin:.

  export INFORMIXDIR INFOR MIXSERVER INFORMIXSQLHOSTS PATH

  对用户授权

  通过以上的设置,表明Informix用户具备了与数据库服务器连接和通讯的基本信息,Informix客户端(Clinet)用户要访问数据库,必须得到服务器(Server)端相应系统的允许,即对访问服务器的用户或主机进行授权。Informix数据库服务器支持的远程网络连接有以下3种,在具体实施中可以选择其中一种:

  1.远程登录管理模式。是客户自授权管理模式,在客户(Client)计算机中对数据库服务器有访问权的username用户的当前目录下建立.netrc文件。文件中分别列出主机名、登录用户、口令。

  主机名hostsname是被访问的Informix数据库服务器所在的主机名称。

  用户名username是被访问的Informix数据库服务器所在的主机中的任意用户。

  口令pass_string是username的登录口令。

  表2给出了该文件的基本格式。保留字是文件格式中的固定字段,不得随意变更。

  表2

  2.单用户信任模式。在服务器被访问用户主目录下建立文件.rhosts,.rhosts文件用于列出信任主机名和相应客户机中具有访问数据库服务器的用户名。该文件必须位于每个准备联机的数据库用户$HOME的目录下。表3列出了.rhosts文件的基本格式。

  表3

  3.客户机信任模式。Informix数据库服务器要求计算机能够不需要口令即允许远程网络连接。/etc/hosts.equiv文件列出了那些无须口令就可以存取的主机名。它的一行就是网络上一台主机的正式名clienthosts。