我们想从occi 18升级到occi 19.3.0.0.0,因为我们希望独立于旧的MS库(MSVCR120.DLL)。
但是连接数据库时出现以下错误:
"Program: C:\Windows\SYSTEM32\MSVCP140D.dll
File: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\xstring
Line: 1695 Expression: string subscript out of range
For information ..."
在createEnvironment中删除“ OCCIUTF16”,“ OCCIUTF16”后,连接成功。
我们还认识到,使用occi 19不能在此简单程序中加载oci.dll。使用occi 18可以加载oci.dll。
#include "occi.h"
#include <iostream>
using namespace oracle::occi;
using namespace std;
int main(int argc, wchar_t * argv[])
{
try {
// OK
//auto env = Environment::createEnvironment(Environment::Mode(Environment::OBJECT | Environment::THREADED_MUTEXED));
//auto conn = env->createConnection("SCOTT", "tiger", "ORATEST");
// ERROR
auto env = Environment::createEnvironment("OCCIUTF16", "OCCIUTF16", Environment::Mode(Environment::OBJECT | Environment::THREADED_MUTEXED));
UString user((utext*)L"SCOTT");
UString pwd((utext*)L"tiger");
UString host((utext*)L"ORATEST");
auto conn = env->createConnection(user, pwd, host);
}
catch (SQLException & ex) {
cout << ex.what();
}
return 0;
}
环境: ORACLE服务器12.1.0.2 Microsoft Visual C ++ 2017编译器版本15.9.13
2019年5月29日星期三22:35:38
64位客户端共享库-19.3.0.0.0
有什么想法吗?
谢谢!
答案 0 :(得分:0)
谢谢, -P。 Venkatraman。