Когда я пытался создать соединение с Oracle OCCI 11g в Microsoft Visual Studio 2010, я получил сообщение об ошибке ниже:
Необработанное исключение в 0x005a79c9 в OracleOCCI.exe: 0xC0000005: Местоположение чтения нарушения прав доступа 0x316c6561.
Мой код очень прост, как показано ниже:
class DMLDemo
{
private:
Environment *env;
Connection *conn;
Statement *stmt;
public:
DMLDemo (string user, string passwd, string db)
{
env = Environment::createEnvironment (Environment::DEFAULT);
if(env==nullptr)
cout << "Failure";
try
{
conn = env->createConnection (user, passwd, db);
}
catch (exception* e)
{
cout << "Error";
}
}
~DMLDemo ()
{
env->terminateConnection (conn);
Environment::terminateEnvironment (env);
}
};
int _tmain(int argc, _TCHAR* argv[])
{
//01. Test Simple Connection
try
{
DMLDemo demo("scott","Michael1","");
}
catch (exception* e)
{
cout << e->what();
}
getche();
return 0;
}
Я гуглил некоторые ответы, похоже, что-то не так с совместимостью между версией oracle dll и версией VC.
Кто-нибудь, у кого есть решение для этого? Или просто поменять на VS 2005?