为了使达梦6数据库兼容OCI接口应用程序,DM6中提供了一组OCI接口。一个OCI应用程序的基本结构包括:
- 初始化OCI环境
- 分配必要的句柄
- 建立数据库连接,开始会话
- 准备SQL,执行SQL,数据处理等
- 结束用户会话,断开数据库连接
- 释放分配的句柄
/*
person表定义:
CREATE TABLE "SYSTEM"."SYSDBA"."PERSON"(
"PERSONID" VARCHAR(16),
"NAME" VARCHAR(128),
"PHONE" VARCHAR(32),
"SEX" CHAR(1),
"EMAIL" VARCHAR(200)
);
数据示例:
begin
for i in 1..10000 loop
insert into person values(i,'test','123456789123','M','test@dameng.com');
end loop;
commit;
end;
*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "oci.h"
#pragma comment(lib,"dmoci_dll.lib")
typedef struct person_info_struct person_info_t;
struct person_info_struct
{
char szpersonid[16]; /* 存储 personid 列*/
char szname[128]; /* 存储 name 列*/
char szphone[32]; /* 存储 phone 列*/
unsigned short indp;
unsigned short rlenp;
};
/*批量取数绑定的行数*/
#define BIND_ROWS 5000
int main(int argc,char *argv[])
{
OCIEnv *envhp;