当前位置:编程学习 > C#/ASP.NET >>

请高手指点:VC++2003下,利用occi连接oracle数据库的问题...

我分别在vs2003和vs2005下,利用occi 连接oracle数据库,我用同样的代码在vc6.0

下测试就可以顺利连接数据库,并得到正确的结果.我的代码如下:

#include "stdafx.h"
#include <iostream>
#include <occi.h>
using namespace std;
using namespace oracle::occi;

int _tmain(int argc, _TCHAR* argv[])
{
Environment *pEnviron = Environment::createEnvironment(Environment::DEFAULT);
try
{
Connection *pConn = pEnviron->createConnection("system", "test", "server");
if(pConn)
{
cout << "conn success" << endl;
}
else
{
cout << "conn failed" << endl;
}

Statement *pState = pConn->createStatement("select * from hr.test");
ResultSet *pResu = pState->executeQuery();
while(pResu->next())
{
cout << "id:" << pResu->getInt(1) << endl;
cout << "name:" << pResu->getString(2) << endl;
}

pState->closeResultSet(pResu);
pConn->terminateStatement(pState);
pEnviron->terminateConnection(pConn);
}
catch(SQLException ex )
{
cout << ex.getMessage();
}
catch(...)
{
cout << "unknow error" << endl;
}
return 0;
}

可是在2003中每次执行到:
Connection *pConn = pEnviron->createConnection("system", "test", "server");
语句的时候就要报异常:
DataBaseTest.exe 中的 0x6087e01e 处未处理的异常: 0xC0000005: 读取位置 0x74737973 时发生访问冲突
难道是vs2003或者vs2005中有特殊的设置?还是环境设置有问题?还是什么其他原因呢?
请高手指点一二..感激不尽!!!

我链接的库是oraocci9.lib

包含文件目录是:E:\oracle\ora92\oci\include
库文件目录是:E:\oracle\ora92\oci\lib\msvc --------------------编程问答-------------------- 到ORACLE官方网站看一下就清楚了,下新的oraocci.lib,为不同的VS版本不是同一个库 --------------------编程问答-------------------- 到ORACLE官方网站看一下就清楚了,下新的oraocci.lib,为不同的VS版本不是同一个库 --------------------编程问答-------------------- 感谢您chang19() ,可是我还是没找到,, 您能给我个链接吗? --------------------编程问答-------------------- 感谢您chang19() ,可是我还是没找到,, 您能给我个链接吗? --------------------编程问答-------------------- 我也在做关于OCCI项目,VS2005,ORA10R2,但总是出错,说是MSVCR80找不到,不知道什么原因,后来改成OCI的了.
我觉得版本问题很重要啊.具体方法没有解决,正在研究中,对了.OCI中调PROCEDURE时TABLE类型传不了.为什么呢?
补充:.NET技术 ,  VC.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,