前几天,偶然知道了一个新名词:OCCI,这是虾米东东呢?找了时间看了一下,原来是一套oracle提供的访问oracle数据库的C++接口,用过微软数据库的朋友马上会联想到一个东西,那就是DAO,不错,这东西的原理和DAO是一样的,下面就让我们来看一下OCCI把。(DAO就是Data Access Object的缩写,也是一套访问数据库的库,IT界缩写词很多,有可能你在用着都不自知,这没有关系)
因为我是直接从oracle网站上查看的,在下面这个地址,有两个压缩包,里面包含了OCCI的演示代码,我们就从这里开始分析吧:
http://www.oracle.com/technology/global/cn/sample_code/tech/occi/index.html
我们可以先从第二个压缩包的内容开始看起,就是这个包:
occiplsql.tar.tar
我们下载之后,解压缩,包含三个文件,其中一个是
storedproc.cpp
我们就从她开始看吧。(其实这个文件是一个PL/SQL的演示程序,里面使用了三种执行存储过程的办法,下面就会讲到;另外,这个程序需要用到一些存储过程,在解压得到的occiplsql_readme.txt文件中有详细的描述,使用schema.sql在自己的数据库中创建存储过程,这里省略)
让我们一行一行代码来分析
首先,它调用了文件所需头文件:
#include <iostream>
#include <string>
#include <vector>
#include <occi.h>
这里最重要的就是occi.h了,这一看就是occi库文件的头文件,一般我们后面基本上都要导入这个头文件,无需赘言。
然后代码紧跟着的就是一个main()函数,让我们看一看下面的代码:
//initialize in object mode since we are accessing VARRAY types
Environment *env = Environment::createEnvironment(Environment::OBJECT);
Connection *conn = en