我分别在vs2003和vs2005下,利用occi 连接oracle数据库,可是每次执行到:
Connection *pConn = pEnviron->createConnection("system", "test", "server");
句的时候就要报异常:
DataBaseTest.exe 中的 0x6087e01e 处未处理的异常: 0xC0000005: 读取位置 0x74737973 时发生访问冲突我用同样的代码在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;
}难道是vs2003或者vs2005中有特殊的设置?还是环境设置有问题?还是什么其他原因呢?
请高手指点一二..感激不尽!!!

解决方案 »

  1.   

    你在2003中link 的库是什么?具体的目录也写出来.
      

  2.   

    我链接的库是oraocci9.lib包含文件目录是:E:\oracle\ora92\oci\include
    库文件目录是:E:\oracle\ora92\oci\lib\msvc
      

  3.   

    你看一下以下的帖子:
    http://www.orafaq.com/forum/?t=msg&th=48274/0/我不知道贴在上面的URL是否能正常显示。
      

  4.   

    如果URL你进不去,可以在google“oracle exception createConnection”
    搜索结果的标题是
    “OraFAQ Forum: Precompilers, OCI & OCCI => OCCI (oracle 9i)& Visual ...”