linux下用C编写的OCI连接Oracle数据库程序代码
2009-11-28 15:57206人阅读评论(0)收藏举报
在Oracle 建立数据库
create table employees(employee_id number(3), name varchar2(20), sex varchar2(5), birthday date);
alter session set nls_date_format = 'yyyy-mm-dd';
insert into employees values('101', '耳温枪 ', 'na', '1999-05-03');
insert into employees values('102', 'xiaoli ', 'na', '1999-02-03');
insert into employees values('103', 'xiaozhang ', '男 ', '1999-02-03');
insert into employees values('104', '五千万 ', '男 ', '1999-02-03');
insert into employees values('105', '问问 ', '女 ', '1999-02-03');
insert into employees values('106', '阿散酸 ', '女 ', '1999-02-03');
insert into employees values('107', '阿斯顿 ', '男 ', '1999-02-03');
insert into employees values('108', '撒旦 ', 'na', '2001-5-05');
insert into employees values ('001','张三 ','三 ','2001-07-05');
insert into employees values('111','张三 ','一 ','2003-02-08');
OCI代码:
/*gcc -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
-I${ORACLE_HOME}/rdbms/public -I${ORACLE_HOME}/rdbms/demo
-L${ORACLE_HOME}/lib -lclntsh -o oracle_test oracle_test.c
*/
#include
#include
#include
#include
static OCIEnv *p_env;
static OCIError *p_err;
static OCISvcCtx *p_svc;
static OCIStmt *p_sql;
static OCIDefine *p_dfn = (OCIDefine *) 0;
static OCIBind *p_bnd = (OCIBind *) 0;
int main()
{
int p_bvi;
char *p_sli;
char *p_sli1;
int rc;
char errbuf[100];
int errcode;
char mysql[20];
p_sli=(char *)malloc(20);