C++连接Oracle

常见的几种连接Oracle的方式

  1. ODAC,通过 COM 的形式调用 Oracle,缺点是需要装 ODAC 客户端,而且体积不小
  2. OCCI,通过动态库调用 Oracle, 不需要安装客户端,只需要几个 DLL 即可,问题是 Oracle 12.2 开始支持 VS2015,但不支持 XP
  3. OCI,C语言的 API,调用起来稍显复杂
  4. ODPI-C,也是C语言的 API,在 OCI 基础上做了一层封装,对比前两者,仍然不够简洁
  5. cx_Oracle,Python 的第三方库,各方面都满足要求,但是甲方禁止使用 Python
  6. ODBC,效率估计最低了吧
  7. Pro*C,个人比较反感这种方案,不多说了
  8. OTL,基于模板和流的 C++ 库,依赖 OCI

而使用C/C++操作Oracle数据库的方法有以下几种种:

  • pro*C:易入门,但程序代码繁琐;

  • OCI:Oracle Call Interface,功能强大,性能卓越,但难以驾驭;

    ​ OCI是Oracle提供的C语言函数库,如果不对OCI进行封装,C程序员对Oracle的开发比较困难。

    ​ freecplus框架吧OCI封装成connection和sqlstatement两个类,C程序员对Oracle数据的操作成为了体力活。

  • ODBC:效率较低

1、无结果集SQL的程序流程图

无结果集SQL的程序流程图