C语言连接oracle实例

来源:互联网 发布:乡镇网络舆情预警机制 编辑:程序博客网 时间:2024/04/30 04:55

使用C语言连接oracle数据库通过proc编程连接

test.pc实现的功能是在emp表中查找数据,通过用户输入emp_id,得到对应的emp_name。
test.pc文件内容如下:

#include <stdio.h>#include <string.h>#include <stdlib.h>EXEC SQL INCLUDE SQLCA;int main(){        EXEC SQL BEGIN DECLARE SECTION;        //获取数据库服务名serv可以执行sql命令 select global_name from global_name 或者 select instance_name from v$instance        VARCHAR usr[20],pass[20],serv[20];//usr用户名,pass密码,serv数据库服务名        char emp_name[20];        int emp_id;        EXEC SQL END DECLARE SECTION;        strcpy(usr.arr,"test01");        usr.len=(unsigned short)strlen((char *)usr.arr);        strcpy(pass.arr,"111111");        pass.len=(unsigned short)strlen((char *)pass.arr);        strcpy(serv.arr,"orcl");        serv.len=(unsigned short)strlen((char *)serv.arr);        EXEC SQL CONNECT :usr IDENTIFIED BY :pass USING :serv;        //判断是否连接到数据库        if(sqlca.sqlcode)        {                printf("ORA-ERROR: sqlca.sqlcode=%d\n",sqlca.sqlcode);                exit(0);        }        printf("Connect!\n");        printf("please input id:");        scanf("%d",&emp_id);        //查询语句        EXEC SQL SELECT emp_id , emp_name into :emp_id,:emp_name from emp where emp_id=:emp_id;        printf("Name=%s\n", emp_name);        EXEC SQL COMMIT WORK RELEASE;        printf("Disconnect!\n");        return 0;}

执行:
proc test.pc
生成test.c文件
gcc -o test test.c -lclntsh

生成结果:

原创粉丝点击