最近开始接触Faircom 公司的c-treeACE数据库引擎,除了该产品本身的手册外,相关的文档资料很少,因此打算写几篇文章来记录一下使用过程中碰到的问题,以及一些使用经验。
据Faircom网站所说,财富500强企业也很多使用c-tree的,其中100强中有33%使用c-tree产品的。
第一篇,照例是下载,安装,配置这些步骤。
1. 安装:该产品不需要安装,直接解压放到某个目录下即可。我把它解压到$HOME下,并将目录名linux.x64.64bit改名为ctree64。为了后面方便,在.profile中定义了环境变量:
export CTREE_ROOT=$HOME/ctree64
3.<FONT style="LINE-HEIGHT: normal; FONT-VARIANT: normal; FONT-STYLE: normal" face="""> 参数配置:不修改任何配置,就可以将服务启动起来。
进入$ CTREE_ROOT/bin,执行./startace即可启动服务。startace是个shell脚本文件,实际上执行的是$ CTREE_ROOT/bin/ace/sql下面的ctreesql程序。
如需关闭服务,则执行同一个目录下的stopace。
实际上c-tree提供了两种服务,一种是ISAM的服务,一种是SQL的服务。前面用startace会同时启动这两个服务。ISAM服务对应的程序在$ CTREE_ROOT/bin/ace/isam下,文件名为ctsrvr。缺省情况配置文件ctsrvr.cg在同一个目录下。
如果要修改配置,则修改$ CTREE_ROOT/bin/ace/sql/ctsrvr.cfg文件,比如:
SERVER_NAME缺省为FAIRCOMS,可以修改为需要的名称。
SQL_DATABASE缺省为ctreeSQL,可以修改为自己的名称。注意如果修改为其他名称,则需要在进行SQL操作之前将该database添加到服务中,可以通过自己的程序添加,也可以用Faircom提供的管理工具ctsqlcdb来创建新的database。关于ctsqlcdb在后面介绍。
如果要修改SQL服务监听端口(缺省为6597),可增加如下一行将端口设为9999:
SQL_PORT 9999
不过建议使用缺省端口。
可在该文件添加两行:
SQL_DEBUG LOG_STMT_TIMES
SQL_DEBUG LOG_STMT_TIMES_FETCH
第一个用于记录SQL语句prepare, execute和open的起止时间,第二个用于记录打开游标,获取记录,关闭游标的起止时间。当然如果是生产,一般不会打开,记录很多日志会极大地影响性能。
配置文件如果要存放到其他目录(服务有权限读取即可)或者改为其他名字,可以通过设置环境变量FCSRVR_SET来解决,如:export FCSRVR_SET=/ect/myctcong.cfg