由于惠安县支行最近采用市行推广的新的基于INFORMIX-OnLine客户服务器结构的会计应用程序,笔者出于维护工作的需要,有必要学习和熟悉这一新的应用程序,但苦于本单位还没有另外一套备用的客户服务器网络运行环境而无法实现。后来经笔者研究终于找到了一种巧妙的方法,可以将整套应用程序安装在一台机器上运行。另外在开发和研究时将客户服务器结构转为在单机上运行也是很有用的,在不具备客户服务器网络条件时同样也能够在单机上编写客户服务器结构的应用程序。正是因为数据库名可以支持两种格式从而使得单机运行成为可能。单机上运行SCO UNIX 3.2和OnLine 5.0,而且不必安装Net或Star。
2.1 建立数据库服务器
在单机上建立与服务器主机名字(acct_qz)一样的数据库服务器:acct_qz,这一点最重要了,是整个应用程序能够在单机上运行的关键。在单机上也要建立icbacct用户,其.profile文件必须输出变量:INFORMIXSERVER=acct_qz。
2.2 建立足够大的数据库空间文件和逻辑日志
修改tbconfig的几个参数:
ROOTPATH /dev/online1
ROOTSIZE 50000
LOGFILES 20
LOGSIZE 500
LTAPEDEV /dev/null
DBSERVERNAME acct_qz
将系统参数SHMMAX改为1048576,SHMMNI改为500,然后在root用户下运行:
# cat /dev/null > /dev/online1
# chown icbacct /dev/online1
# chgrp informix /dev/online1
最后在icbacct用户下运行:tbinit -i建立数据库空间。
2.3 用ESQL/C生成存储过程
因为OnLine 5.0不能用isql直接使用SQL语句生成存储过程,所以一般要使用ESQL/C编写专门的C语言程序来增加或更换一个存储过程。
$drop procedure tb2;
$create procedure from "/usr/icbacct/proc/tb2.sql";