vs2010使用配置Oracle,vs2010访问oracle11g环境配置过程

看了许多C++访问oracle数据库的方法,感觉OCCI是最简单的一种,代码量少,清晰。下面详细说明一下如何使用vs2010连接oracle11g。

1.建立一个win32应用程序

2.环境配置

(1)添加occi头文件,头文件在安装好的文件夹里面有,当然你也可以去oracle网上下载。具体目录位置(以我的为例):

D:\app\Administrator\product\11.2.0\dbhome_1\OCI,这个文件夹有include和lib两个文件夹,头文件在include下面。

在vs2010台添加办法为在project->project_name option下的C/C++->General->Additional Include Directories下面添加需要的头文件

如图:

0818b9ca8b590ca3270a3433284dd417.png

(2)添加lib文件。先在linker的general里面添加目录位置,再到input里面添加依赖

如图:

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

以上就完成了环境的配置

下面是一个最简单的访问过程,你可以把一些DML用类封装起来便于操作。

#include "stdafx.h"

#include

#define WIN32COMMON

#include

using namespace oracle::occi;

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

Environment *env=Environment::createEnvironment();//创建一个环境,与文后面的terminateEnvironment对应

Connection *conn;

Statement *stmt;

string sql="select ename,job,sal from manager";

cout<

try

{

conn = env->createConnection("admin","chao20080808");

stmt = conn->createStatement();

ResultSet *rs = stmt->executeQuery(sql);

cout<

while(rs->next())

{

string l1=rs->getString(1);

string l2=rs->getString(2);

int l3=rs->getInt(3);

cout<

break;

}

stmt->closeResultSet(rs);

conn->terminateStatement(stmt);

}

catch(SQLException e)

{

cout<

Environment::terminateEnvironment(env);

system("pause");

//return -1;

}

env->terminateConnection(conn);//关闭连接

Environment::terminateEnvironment(env);//关闭环境

cout<

system("pause");

}

另:另外,这里面有点问题。能连接上数据库,能正确的登陆到数据库,但是用调用ResultSet指针的方法时会出现那个让人头疼的unhandle exception,就是指针错误。但是如果把它用cout批出来可以得到正确的值。目前还未找到原因。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值