一 occi开发环境设置
1)打开VC6开发环境窗口,点击菜单“工具->选项”,弹出选项窗口,点击“目录”选项卡。在出现的对话框中,单击目录下拉列表,选中“
Include files”,添加路径“D:\ORACLE\ORA92\OCI\INCLUDE”(此文件夹在oracle的安装目录下)。然后在下拉列表,选中“library files”
,添加路径“D:\ORACLE\ORA92\OCI\LIB\MSVC”。
2)打开一个工程,点击菜单“工程->设置”,弹出选项窗口,点击“C/C++”选项卡。在出现的对话框中,单击“分类”下拉列表,选中“预
处理器”,在“预处理器定义”中添加“WIN32COMMON,_DLL,_MT”。然后再点击“链接”选项卡,在出现的对话框中,单击“分类”下拉列表
,选中“输入”,在“对象/库模块”中添加“ oci.lib oraocci9.lib msvcrt.lib msvcprt.lib”。(注意四个文件中间用空格隔开)。单击
确定,环境配置成功!!!
二 链接oracle查询数据的示例
#include <stdio.h>
#include <iostream>
#include <String>
using namespace std;
#include <occi.h>
#include <occiControl.h>
using namespace oracle::occi;
int main(int argc, char* argv[])
{
Environment *pEnv = NULL; //定义执行环境对象
Connection *pConn = NULL; //定义链接对象
Statement *pStmt = NULL; //定义执行语句对象
ResultSet *pRs = NULL; //定义结果集对象
const string szUserName = "demo"; //设置用户名
const string szUserPwd = "demo"; //设置密码
const string szConnection = "icss"; //设置要链接的数据库,"icss"是数据库名
try
{
pEnv = Environment::createEnvironment(); //创建了一个执行环境
pConn = pEnv->createConnection(szUserName, szUserPwd, szConnection);
//创建了一个链接,有三个参数。
if ( NULL == pConn) //如果链接创建失败,执行以下代码
{
cout << "Connection Failure" << endl;
return 0;
}
pStmt = pConn->createStatement(); //通过connection对象创建一个statement对象
string strSql = "select * from test1";
pStmt -> setSQL(strSql); //设置语句执行对象的属性
pRs = pStmt->executeQuery(); //执行调用,返回结果集对象
while ( pRs -> next()) //对结果集遍历,输出结果集里的数据
{
cout << pRs->getInt(1) << " " << pRs->getString(2) << endl;
} //getInt()和getString()方法的使用取决于数据集里数据的类型。1和2指第一、第二个字段
}
catch ( SQLException ex)
{
cout << ex.getMessage() << endl;
}
pStmt -> closeResultSet(pRs); //statement对象调用方法关闭数据集
pConn -> terminateStatement(pStmt); //connection对象调用terminateStatement()方法关闭statement对象
pEnv -> terminateConnection(pConn); //environment对象调用方法关闭connection对象
Environment::terminateEnvironment(pEnv); //关闭环境对象。
return 0;
}
来源: