现在的位置: 首页 > 综合 > 正文

vc++6.0中使用OCCI前的配置 链接oracle查询数据的示例

2013年10月16日 ⁄ 综合 ⁄ 共 1891字 ⁄ 字号 评论关闭

一 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;
}

 

来源:

http://hi.baidu.com/fuzk2008/item/a26db6253d1b7c54c28d5925

抱歉!评论已关闭.