OCCI 19.3.0: происходит сбой createConnection с OCCIUTF16 - PullRequest
0 голосов
/ 11 июля 2019

Мы хотели бы перейти с 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 ..."

Когда мы удаляем «OCCIUTF16», «OCCIUTF16» в createEnvironment, соединение успешно устанавливается.

Мы также признали, что oci.dll не был загружен в эту простую программу с использованием occi 19. С 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 SERVER 12.1.0.2 Microsoft Visual C ++ 2017, версия 15.9.13

Базовая информация о пакете освещения

Ср 29 мая 22:35:38 MDT 2019

Клиентская общая библиотека 64-битная - 19.3.0.0.0

Есть идеи?

Заранее спасибо!

1 Ответ

0 голосов
/ 18 июля 2019
  • Можете ли вы предоставить полный стек при сбое
  • Проблема, которую вы указываете на MSVCP140D.dll (D - Debug) -> поэтому я предполагаю, что вы компилируете с ORAOCCIxxD.LIB (версия отладки). Если вы используете отладочную сборку, пожалуйста, используйте все компоненты в отладочной сборке.
  • Да, OCI.DLL теперь не будет загружаться вместе с ORAOCCI.DLL.

Спасибо, -П. Venkatraman.

...