Linux cc++访问Oracle数据库--环境配置

    技术2023-12-27  77

    原文地址::https://blog.csdn.net/gaogao303/article/details/17303453

    相关文章

    1、Linux c/c++访问Oracle数据库--连接数据库----https://blog.csdn.net/gaogao303/article/details/17351513

     

    最近需要在linux下面做数据库的接口,之前对数据库都是空白,经过度娘之后才有所了解。万事开头难,开始吧~~~

    /****************/

    访问数据库最好的方法应该就是通过现有的客户端了,但是要做成接口所以客户端是不行的了,经过一番搜索之后发现可以利用C通过以下第三方库进行访问数据库的

    1)OCI 

    2)Pro*c

    能力有限只找到这两个。这两个都是Oracle 官方给出库。

    一、OCI

    参考官网给出的相关信息。OCI应该是最底层最基本的调用接口,不过通过其他网友们的反馈,OCI对于我这种初学者来说有点难,不太好上手,所以果断放弃。。~~~这里也就不多说了。

    二、Pro*c

    同样参考官网的相关信息。网上说这个相对来说比较好学,而且开发效率相对较高一点,学之。

    通过proc预编译工具将嵌入的sql语句翻译成C语句,最后使用gcc进行编译链接。在预编译的时候是将嵌入的sql语句翻译成OCI的调用~~~原来Proc是对OCI的另外一种封装~~~

    三、配置开发环境

    说到开发,就必须要有开发环境,下面就来搭建Pro*c的开发环境吧,这其中又是各种波折啊,不过最大的难题就是找到Proc*C库。

    这里有各种Pro*c的库,只有pro*c库还是不行的,我们还需要有oracle的客户端才行,客户端地址,按照个人配置选择适当的链接,转到下载页面之后按照相应的版本下载相应的安装包,不过不用全部都要下载,需要的安装包有:

     oracle-instantclient11.2-basic-11.2.0.4.0-1.i386.rpm

     oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.i386.rpm

     oracle-instantclient11.2-devel-11.2.0.4.0-1.i386.rpm 

     oracle-instantclient11.2-precomp-11.2.0.4.0-1.i386.rpm

    其中的 11.2.0.4.0 是版本号~~按需下载!

    首选安装 *-basic*包 其余的没有顺序要求了,全部安装成功就OK了。which proc 看看有没有proc的命令吧!

    安装目录:/usr/lib/oracle/11.2/client/ 

    头文件目录:/usr/include/oracle

    proc默认的配置文件是在 /usr/lib/oracle/11.2/client/precomp/admin/pcscfg.cfg,但是这样安装之后precomp目录在/usr/lib/oracle/11.2/client/lib 目录下,我们需要cp 出来。另外需要在pcscfg.cfg文件中添加一下两行:

    sys_include=/usr/include  sys_include=/usr/include/oracle/11.2/client 不然编译的时候会报找不到头文件的错误! Ok! 下面先测试一下能不能链接我们的数据库吧!

    代码如下:保存为:test.pc

    #include <stdio.h> #include <sqlca.h> #include <oraca.h> EXEC ORACLE OPTION(ORACA=YES);

    int main() {         char uid[]="test/test@192.168.30.50:1521/rsdb";         EXEC SQL CONNECT :uid;         if (sqlca.sqlcode == 0)                 printf("Connect successful!\n");         else                 printf("%s\n",sqlca.sqlerrm.sqlerrmc);         return sqlca.sqlcode; } 编译处理: 1、将.pc文件处理成.c文件,执行成功之后会有一个test.c文件

    proc test.pc  2、根据.c文件生成可执行程序

    gcc test.c -o test -lclntsh -I/usr/include/oracle/11.2/client/ -L/usr/lib/oracle/11.2/client/lib

    3、运行

    ./test 能打印出 Connect successful! 说明链接成功了,否则会打印链接失败的信息。

    至此Pro*c开发环境搭建完成。

    (未完待续~~~) ———————————————— 版权声明:本文为博主「菜_鸟_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/gaogao303/article/details/17303453

    Processed: 0.015, SQL: 9