荣博
Informix关系数据库管理系统是一个跨平台、全功能的RDBMS,后改造为ORDBMS,它具有各种特性,并且能够十分方便地与各种GUI前端工具相连接。目前Informix数据库产品在我国的金融和保险行业有着广泛的应用。Linux是当今非常流行的一种操作系统,功能强大,源码公开,可以方便地构建自己个性化的网络服务器。Informix企业级数据库管理系统Informix On-Line Dynamic Server、中小型数据库管理系统Informix SE、面向C语言的开发工具ESQL/C、快速开发工具4GL等一系列产品都能运行在Linux平台上。下面介绍一下如何搭建基于Linux的小型Informix客户机/服务器方式数据库开发环境。
软件环境
Linux:RedHat Linux 6.0,别的版本大家可以自己试一下。如果您使用的是Slackware、Debian或其它版本的Linux,那么就请您选择专门为这些版本设计的Informix产品。
数据库:Informix-SE 7.24.UC5&& ESQL/C Bundle On Linux;Informix Client 2.50.TD1。
硬件环境
服务器:因为数据库服务器需要处理的是大量的数据操作,所以对硬件有较高的要求。我们选用的配置是PⅢ800MHz处理器、128M的内存、20G Quntum FireBall硬盘、Realtek 8139 10/100M自适应网卡。
客户机:赛扬433MHz处理器、64M内存、6G的Seagate硬盘、Realtek 8139 10/100M自适应网卡。
网线和集线器:如果开发基于主机/字符终端方式信息系统,还需要配置多用户卡和终端机。多用户卡可以选用Startec C9531或其它兼容Linux的多用户卡。
准备工作
1)首先组建局域网,然后在服务器上安装 RedHat Linux 6.0 ,配置网络(在以下步骤我们假设服务器名为db_server);
2)根据需要选择在客户机上安装Windows95 或者Linux ,配置网络;
3)确保客户机与服务器之间可以相互Ping通;
4)修改Linux系统/etc目录下的hosts文件,Windows系统Windows目录下的hosts 文件,添加局域网内计算机的IP地址和主机名称的信息,配置好网络通信文件;
5)配置服务器端 /etc/目录下的hosts.equiv 文件。网络中的主机名称包含域名,比如“db_server.Informix.net”,但是在该主机上用来表示自己的名称是“db_server”。如果不能确定的话,那么就把以上两种格式的名称一起添加到/etc/目录下的hosts.equiv文件里。
安装Informix-SE套件
Informix-SE套件包括ESQL/C、Informix-SE和I-connect。
1)在服务器上用“root”用户注册。
2)创建Informix组,执行操作:
#groupadd -g 777 Informix(假设Informix组的编号为777)
3)创建Informix用户,执行操作:
#useradd-u 777-g Informix Informix(建立了一个隶属于Informix组,用户编号为777的用户Informix)
4)创建dba用户,dba用户的作用主要是创建、维护和管理用户的数据库。为了安全起见,最好不要把dba用户当作Informix组中的成员。
5)创建Informix产品的安装目录:
#mkdir /usr/Informix
#chown Informix.Informix /usr/Informix
#chmod 755 /usr/Informix
6)设置环境变量:
#export INFORMIXDIR=/usr/Informix,然后把$INFORMIXDIR/bin加入到程序的搜索路径中,安装程序需要用它来查找所需的文件,#export PATH=$PATH:$INFORMIXDIR/bin。
7)安装ESQL/C,从Internet上下载的Informix产品,假设文件存放在/mnt/cdrom目录下,执行操作:
#cd /usr/Informix
#tar xvf /mnt/cdrom/esqlc/esqlc.tar
8)执行安装程序:
#./installesql
9)安装Informix-SE,进入安装目录,展开SE.TAR,执行操作:
#cd /usr/Informix
#tar xvf /mnt/cdrom/esqlc/se.tar
10)执行安装程序:
#./installs0e
配置数据库服务器
1)配置/etc/services文件。
/etc/services文件包含了服务器所提供的各种服务的信息。文件由服务名称、端口/协议、服务别名三个字段组成。定义数据库服务可以让网络上的客户端软件通过该端口与数据库服务器建立连接。下面的例子定义了一个使用TCP/IP协议,端口号为1536的服务。
servicename
port#/protocal
service-alias
informix_se
1536/tcp
2)配置sqlhosts文件。
$INFORMIXDIR/etc/sqlhosts文件中包含了客户端访问数据库服务器所需要的信息。用文字编辑器打开它,你就会发现其中有一行文字的内容为:
demo_se onipcshm on_hostname on_servicename
该行定义了一个Informix On_Line Dynamix Server的数据库服务器,你需要把它删除或者用“#”注释起来。该文件由四个字段组成:数据库服务器名称、网络类型、主机名称和服务名称。
下面给出的例子定义了两个数据库服务器,一个是通过未命名管道的本地数据库,另一个是使用TCP/IP协议的网络数据库。
一个是通过未命名管道的本地数据库,另一个是使用TCP/IP协议的网络数据库。
dbservername
netype
hostname
servicename
local
seipcpip
db_server
sqlexec
remotedb
sesoctcp
db_server
informix_se
连接客户机与服务器
Linux 客户端的配置如下:
1)安装ICONNECT。Iconnect是Informix数据库客户端与服务器之间连接的桥梁,只有通过它提供的接口网络客户端程序,才能够访问数据库引擎。ICONNECT的功能已经包含在ESQLC和SE中,如果您的客户端已经安装了ESQL/C或者INFORMIX-SE,那么完全可以跳过这一步。
进入Informix安装目录,展开ICONNECT.TAR,执行如下操作:
#tar xvf/mnt/cdrom/ICONNECT/ICONNECT.TAR
执行安装程序:
#./installconn
按提示输入软件的序列号和许可证号后,按回车键完成安装。
2)配置sqlhosts、services文件,方法同上。
Windows客户端的配置过程如下:
1)安装Informix Cli 2.5 For Windows。在Windows中连接Informix数据库,且必须安装Informix的客户端软件Informix Client For Windows。
2)修改Windows目录下的Services文件,添加数据库服务的信息。
3)在应用程序中与Informix连接。Windows环境下的数据库开发工具种类繁多,下面我们以应用比较广泛的Sybase公司的Powerbuilder为例,来简单介绍一下如何在应用程序中用代码连接Informix数据库。
首先声明一个事务,然后为该事务的参数赋值,最后用Connect语句连接数据库。以下是一个在Powerbuiilder应用程序中用代码连接Informix数据库的例子。
transaction INFORMIX
INFORMIX = CREATE transaction
//创建名为Informix的事务
INFORMIX.DBMS = ""IN7 INFORMIX-7""
//数据库类型
INFORMIX.Database = ""stores7""
//数据库名称
INFORMIX.UserId = ""dba""
//用户名
INFORMIX.DBPass = ""******""
//口令
INFORMIX.ServerName=""db_server@Remotedb""
//数据库服务器信息
INFORMIX.AutoCommit = False
//使PowerBuilder工作在事物处理模式之外
INFORMIX.DBParm=""INET_SERVICE=''Informix_se''
INET_PROTOCOL=''sesoctcp''""
//数据库连接参数
CONNECT USING INFORMIX
//连接数据库
Informix for Linux 产品的推出,为我们开发低成本、高性能的管理信息系统提供了一套切实可行的方案。