DM7提供类似于ORACLE数据库OCI接口的DCI接口,用来兼容ORACLE OCI接口编程的应用程序。其中DCI接口具有和OCI接口相同的函数名以及参数,这样应用在进行移植时,无需进行修改即可适配,其使用方式兼容ORACLE数据库。在使用DM7的DCI接口时,需要引用DM7数据库的dmoci.lib库,在运行时需要dmoci.dll等库。下面给出编程示例:
示例person表定义:
create table person
(
persionid int identitiy(1,1) not null,
sex char(1) not null,
name varchar(50) not null,
email varchar(50) ,
phone varchar(25),
cluster primary key(personid)
);
OCI示例程序如下:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <malloc.h>
#include "dci.h"
/* 声明句柄 */
OCIEnv *envhp; /* 环境句柄 */
OCISvcCtx *svchp; /* 服务环境句柄 */
OCIServer *srvhp; /* 服务器句柄 */
OCISession *authp; /* 会话句柄 */
OCIStmt *stmthp; /* 语句句柄 */
OCIDescribe *dschp; /* 描述句柄 */
OCIError *errhp; /* 错误句柄 */
OCIDefine *defhp[3]; /* 定义句柄 */
OCIBind *bidhp [4]; /* 绑定句柄 */
sb2 ind[3]; /* 指示符变量 */
/* 绑定select结果集的参数 */
text szpersonid[11]; /* 存储personid列 */
text szsex[2]; /* 存储sex列 */
text szname[51]; /* 存储name列 */
text szemail[51]; /* 存储mail列 */
text szphone[26]; /* 存储phone列 */
char sql[256]; /* 存储执行的sql语句*/
int main(int argc, char *argv[])
{
char strServerName[50];
char strUserName[50]