c-tree数据库(c-treeACE)(7):开发篇之一

C-tree提供了很多种的API,我们主要使用C++的,即c-treeDB C++ API,主要的参考手册就是Faircom公司网站上提供的

c-treeDB C++ API Developer's Guide。

 

学习开发的一个最佳途径当时看看tutorial,马上就能获得一个大致的。c-tree的所有例子都放在$CTREE_ROOT/sdk下面,针对各种不同接口,各有一个目录存放。ctree.cpp目录下就是使用上面讲到的c-treeDB C++ API的例子。进入$CTREE_ROOT/sdk/ctree.cpp/tutorials/cmdline,直接make即可将其中的四个例子程序全部进行编译,成功之后即可运行$CTREE_ROOT/sdk/ctree.cpp/tutorials下面的ctpp_tutorial1~ctpp_tutorial4这四个例子(当然要想成功执行,你的服务得在那)。

 

不过最让我郁闷的是运行这些例子程序后,我用isql工具查看,结果却找不到表。比如说tutorial1里面生成了custmast表,然后用isql连到服务上查看,报错,这个表不存在。还有一个怪异的事情是,通过实例程序生成的custmast表之后,可以在$CTREE_TOOR/bin/ace/sql/data下面(没有修改相关配置的缺省情况)看到生成了两个文件:custmast.dat和custmast.idx,而用isql创建一个表,生成的2个数据文件却是在$CTREE_TOOR/bin/ace/sql/data/ctreeSQL.dbs目录下面(isql连接到ctreesql这个database的情况)。

 

百思不得其解,遂向Faircom技术支持求助,原来这个系统就是这样设计的。所有的API可以分为两类:一类为Direct API, 另一类为Relational API.  象ISAM Level, c-treeDB,  c-treeDB C++, c-treeDB.NET, VCL, 以及JTDB都属于第一类。这类API不需要通过SQL引擎来处理,所以称为Direct的。其他的API包括JDBC, ODBC, Direct SQL, Interactive SQL, ADO.NET, DBX and PHP属于第二类,都需要SQL引擎。这两类API的数据字典是不同的。通过Relational API的方式生成的数据文件,都会进入以database名称命名的目录,比如上面提到的$CTREE_TOOR/bin/ace/sql/data/ctreeSQL.dbs目录。而Direct API的方式,使用$CTREE_TOOR/bin/ace/sql/data下面的ctdbdict.fsd文件作为数据字典,数据文件也直接放在data目录下。该data目录通过配置文件ctsrvr.cfg的LOCAL_DIRECTORY可修改为其他路径。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值