OCI是Oracle数据库的C语言访问接口,它提供了一系列API函数,用户可以通过这些函数访问数据库,也通过这些函数控制SQL语句的执行,几乎可以操作每一个细节。OCI接口是所有Oracle访问接口中速度最快的,也是与Oracle系统融合度最高的,因为Oracle本身就是用C语言编写的。下面就来看看怎样创建一个OCI程序,为方便演示,整个系列文章中的例子都在linux操作系统下编译。
头文件和库文件
要调用OCI函数,首先要在程序开始包含OCI的头文件,头文件的位置在$ORACLE_HOME/rdbms/public目录下,头文件的名称是oci.h。在编译选项中要加入头文件的路径,-I${ORACLE_HOME}/rdbms/public。OCI的库文件在${ORACLE_HOME}/lib目录下,在连接选项中要包含库文件的路径和库名称,-L${ORACLE_HOME}/lib -lclntsh。
如果写一个OCI程序,源文件名为test_oci.c,那么编译命令应该如下:
cc -o test_oci -I${ORACLE_HOME}/rdbms/public -L${ORACLE_HOME}/lib -lclntsh test_oci.c
编译后产生一个名称为test_oci的可执行文件。
程序结构
创建OCI程序有以下几个步骤:
1. 创建一个OCI运行环境,这是OCI程序运行的基础,创建后得到一个环境句柄。
2. 分配其他需要的句柄,初始化数据结构。
3. 连接到数据库服务器并开始一个会话。
4. 创建和准备要执行的SQL语句。
5. 执行SQL语句,并处理相关的数据。
6. 提交数据库更新。
7. 断开数据库连接。
8. 释放分配的句柄。
上面的每个步骤,都需要用到特定的OCI函数,后续的章节我们会详细介绍每一个函数,然后通过例子来演示每个函数的用法,创建一个完整的OCI程序。