我分别在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
#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.DataAccess.Client.OracleConnection”的类型初始值设定项引发异常。
- 请问怎么样在Oracle的9i版本中使用wm_concat这个函数,自定义此函数为什么不行??
- 2条sql的区别
- -----高手---帮忙!-我在DOS环境的中用ed这个命令怎么无法写入afiedt.buf????
- oracle 服务启动之后又停止了
- 急求 oracle SQL 简化问题!!
- 怎么删除或压缩UNDOTBS表空间的数据文件
- 一个分组统计问题
- 如何按时间查询
- 关于客户端连接Oracle服务器!急,在线等
- ORACLE 高级复制中,机器重启后"高级复制"运行正常但数据复制失败!(实在是没分给了,只能给10分了,谢谢!!)
- 请问:一次插入多条数据问题!
感觉和oracle没多大关系.