c++通过OCCI访问Oracle编程程序错误_CrtIsValidHeapPointer(pUserData)
c++通过OCCI访问Oracle编程程序错误_CrtIsValidHeapPointer(pUserData)
程序代码:
#define WIN32COMMON
#include <iostream>
#include <occi.h>
using namespace oracle::occi;
using namespace std;
#pragma comment(lib, "oraocci10.lib")
int main(void)
{
Environment *env = NULL;
Connection *conn = NULL;
Statement *stmt = NULL;
ResultSet *rs = NULL;
string user;
string passwd;
string db;
user = "ly";
passwd = "a123";
db = "";
try
{
env = Environment::createEnvironment(Environment::OBJECT);
if(env != NULL)
{
conn = env->createConnection (user, passwd, db);
if(conn != NULL)
{
stmt = conn->createStatement("select * from name");
rs = stmt->executeQuery();
while(rs->next())
{
cout << rs->getString(1);
}
stmt->closeResultSet(rs);
}
env->terminateConnection(conn);
}
Environment::terminateEnvironment(env);
}
catch (SQLException e)
{
cout << "Error : ";
cout << e.getMessage() << endl;
}
return 0;
}
工具:VC6+sp6
数据库:oracle10g
Debug版运行到cout << rs->getString(1);时出问题
错误信息:
Debug Assertion Failed!
File:dbgheap.c
Line: 1044
Expression:_CrtIsValidHeapPointer(pUserData)
Release版可以正常运行。