资源描述:
《c编写的oci连接oracle数据库》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、linux下用C编写的OCI连接Oracle数据库程序代码2009-11-2815:57206人阅读评论(0)收藏举报在Oracle建立数据库createtableemployees(employee_idnumber(3),namevarchar2(20),sexvarchar2(5),birthdaydate);altersessionsetnls_date_format='yyyy-mm-dd';insertintoemployeesvalues('101','耳温枪','na','1999-05-03');insertintoemployeesvalues(
2、'102','xiaoli','na','1999-02-03');insertintoemployeesvalues('103','xiaozhang','男','1999-02-03');insertintoemployeesvalues('104','五千万','男','1999-02-03');insertintoemployeesvalues('105','问问','女','1999-02-03');insertintoemployeesvalues('106','阿散酸','女','1999-02-03');insertintoemployeesvalu
3、es('107','阿斯顿','男','1999-02-03');insertintoemployeesvalues('108','撒旦','na','2001-5-05');insertintoemployeesvalues('001','张三','三','2001-07-05');insertintoemployeesvalues('111','张三','一','2003-02-08');OCI代码:/*gcc-D_LARGEFILE64_SOURCE-D_FILE_OFFSET_BITS=64-I${ORACLE_HOME}/rdbms/public-I${O
4、RACLE_HOME}/rdbms/demo-L${ORACLE_HOME}/lib-lclntsh-ooracle_testoracle_test.c*/#include#include#include#includestaticOCIEnv*p_env;staticOCIError*p_err;staticOCISvcCtx*p_svc;staticOCIStmt*p_sql;staticOCIDefine*p_dfn=(OCIDefine*)0;staticOCIBind*p_bnd=(O
5、CIBind*)0;intmain(){intp_bvi;char*p_sli;char*p_sli1;intrc;charerrbuf[100];interrcode;charmysql[20];p_sli=(char*)malloc(20);memset(p_sli,0,20);p_sli1=(char*)malloc(20);memset(p_sli1,0,20);/*InitializeOCIevironment*/rc=OCIEnvCreate((OCIEnv**)&p_env,OCI_DEFAULT,(dvoid*)0,(dvoid*(*)(dvoid*
6、,size_t))0,(dvoid*(*)(dvoid*,dvoid*,size_t))0,(void(*)(dvoid*,dvoid*))0,(size_t)0,(dvoid**)0);/*Initializehandles*/rc=OCIHandleAlloc((dvoid*)p_env,(dvoid**)&p_err,OCI_HTYPE_ERROR,(size_t)0,(dvoid**)0);rc=OCIHandleAlloc((dvoid*)p_env,(dvoid**)&p_svc,OCI_HTYPE_SVCCTX,(size_t)0,(dvoid**)0
7、);/*Connecttodatabaseserver*/rc=OCILogon(p_env,p_err,&p_svc,"scott",5,"tiger",5,"orcl",4);//rc=OCILogon(p_env,p_err,&p_svc,"hr/hr@orcl",10,NULL,-1,NULL,-1);if(rc!=0){OCIErrorGet((dvoid*)p_err,(ub4)1,(text*)NULL,&errcode,errbuf,(ub4)sizeof(errbuf),OCI_HTYPE_ERROR);printf("Error-%.*s/n