- 论坛徽章:
- 15
|
本帖最后由 yulihua49 于 2011-07-15 15:55 编辑
哪位兄弟有自己封装好的OCI啊,就是把oracle提供的OCI接口封装成C++,我现在要建立个基于OCI的,以前没做过 ...
chinaorcl 发表于 2011-07-15 15:22 ![]()
OCCI,OCILIB
我还封装C的,没C++的。
C的,C++可以用啊。
SDBC QQ群:100807652,群共享区可以下载源码和文档。
给你个例子,封成这样行吗?- #include "kpsrv.h"
- //数据
- static char seatdata[]="2007-05-27|BEP|H6B|H6|2007-05-28 00:10|5|21|12|6|0|0|\"G04\"\\G||1|WEB_JAVA|yulihua|2008-09-02 10:50:16|AAAM3iAAFAAAB81AAO|";
- int main(int argc,char *argv[])
- {
- SEAT_stu seat;
- char stmt[4096],tmp[4096];
- T_SQL_Connect Sql;
- int ret;
- DAU seat_DAU;
- JSON_OBJECT json;
- if(argc>1) {
- ret=envcfg(argv[1]);//配置文件,打开数据库的参数等
- if(ret) fprintf(stderr,"init %s err=%d\n",argv[1],ret);
- }
- ret=db_open(&Sql);
- if(ret!=0) {
- printf("Open database err=%d,%s\n",Sql.Errno,Sql.ErrMsg);
- exit(1);
- }
- //Data Access Unit
- DAU_init(&seat_DAU,&Sql,0,&seat,SEAT_tpl);//表名,在SEAT_tpl(数据模板)里,就是SEAT,数据模板(表结构)可以自动生成。
- printf("\nseatdata=%s\n",seatdata);
- DAU_dispack(&seat_DAU,seatdata);//seatdata(字符串),装入seat_DAU
- seat.flag=2;
- //测试JSON
- json=json_object_new_object();
- DAU_toJSON(&seat_DAU,json,0);
- printf("json_string=%s\n",json_object_to_json_string(json));
- json_object_put(json);
- //测试insert
- ret=DAU_insert(&seat_DAU,stmt);
- printf("DAU_insert %d,stmt=%s\n",ret,stmt);
- if(ret) printf("err=%d,%s\n",Sql.Errno,Sql.ErrMsg);
- ret=DAU_print_bind(&seat_DAU,tmp);
- printf("print_bind=%02X,bind=%s\n",ret,tmp);//打印绑定变量值
- ___SQL_Transaction__(&Sql,TRANCOMMIT);
- ___SQL_CloseDatabase__(&Sql);
- return 0;
- }
复制代码 看我做的数据库包装器
http://www.itpub.net/viewthread.php?tid=1088197
太长了,看后边十几页,有结果。 |
|