问题描述:
开发环境是VS2005,Oracle客户端是10.2.0
在VS2005下已经把Oracle的include和lib文件引入到工程中,如下:
E:\oracle\product\10.2.0\client_1\oci\include
E:\oracle\product\10.2.0\client_1\oci\lib\msvc
vs工程版本为Release,把oci.dll和oraocci10.dll拷贝到了工程根目录下程序源代码如下:// RWOracle.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"
#include <iostream>
#include <string>
#include "occi.h"using namespace std;
using namespace oracle::occi;
int _tmain(int argc, _TCHAR* argv[])
{ const string userName = "sa" ;
const string password = "zxvnms" ;
const string connectString = "mytest" ;
Environment *env = Environment::createEnvironment( "ZHS16GBK" , "UTF8" );
try
{
Connection *conn = env->createConnection(userName, password, connectString);
Statement *stmt = conn->createStatement("select * from t_user");
ResultSet *rs = stmt->executeQuery();
while(rs->next())
{
cout << "field string is : " << rs->getString(2) << endl;
} }
catch (SQLException ex)
{
cout << "SQLException errorinfo is---" << ex.getMessage() << endl;
cout << "SqlException errorcode is----" << ex.getErrorCode() << endl;
}
char * aaa = 0;
cin >> aaa;
return 0;
}直接运行时程序崩溃,单步调试到下列代码行时
Environment *env = Environment::createEnvironment( "ZHS16GBK" , "UTF8" );
报异常:
RWOracle.exe 中的 0x7c81eb33 处未处理的异常: Microsoft C++ 异常: 内存位置 0x0012fdfc 处的 oracle::occi::SQLException。请高手指点,感激不尽!!
开发环境是VS2005,Oracle客户端是10.2.0
在VS2005下已经把Oracle的include和lib文件引入到工程中,如下:
E:\oracle\product\10.2.0\client_1\oci\include
E:\oracle\product\10.2.0\client_1\oci\lib\msvc
vs工程版本为Release,把oci.dll和oraocci10.dll拷贝到了工程根目录下程序源代码如下:// RWOracle.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"
#include <iostream>
#include <string>
#include "occi.h"using namespace std;
using namespace oracle::occi;
int _tmain(int argc, _TCHAR* argv[])
{ const string userName = "sa" ;
const string password = "zxvnms" ;
const string connectString = "mytest" ;
Environment *env = Environment::createEnvironment( "ZHS16GBK" , "UTF8" );
try
{
Connection *conn = env->createConnection(userName, password, connectString);
Statement *stmt = conn->createStatement("select * from t_user");
ResultSet *rs = stmt->executeQuery();
while(rs->next())
{
cout << "field string is : " << rs->getString(2) << endl;
} }
catch (SQLException ex)
{
cout << "SQLException errorinfo is---" << ex.getMessage() << endl;
cout << "SqlException errorcode is----" << ex.getErrorCode() << endl;
}
char * aaa = 0;
cin >> aaa;
return 0;
}直接运行时程序崩溃,单步调试到下列代码行时
Environment *env = Environment::createEnvironment( "ZHS16GBK" , "UTF8" );
报异常:
RWOracle.exe 中的 0x7c81eb33 处未处理的异常: Microsoft C++ 异常: 内存位置 0x0012fdfc 处的 oracle::occi::SQLException。请高手指点,感激不尽!!
2、有权限
怀疑是occi的版本跟vs2005不兼容
Oracle10.2.0是否支持vs2005?
不过好像Oracle11G也能支持VC7。