Проблемы совместимости с Oracle OCCI и g ++ 7.1

Я пытаюсь создать приложение C ++ с OCCI (версии 11, 12, 18, все приводят к одной и той же проблеме, описанной ниже), используя gcc 7.1.

Приложение ниже компилируется и работает нормально с gcc 4.8.5 под RHEL7, но выдает ошибку ORA-24960: the attribute OCI_ATTR_USERNAME is greater than the maximum allowable length of 255 при компиляции с gcc 7.1.

Этот вопрос кажется, решает проблему, но переход на более низкую версию компилятора не подходит в моем случае, так как мне нужно интегрировать вызовы OCCI в большее приложение, которое зависит от gcc 7.1.

Вот MCVE для простой проверки соединения с БД:

#include <string>
#include <occi.h>

using namespace oracle::occi;
using namespace std;

int main()
{
const string url = "//server:1234/ID";
const string username = "user";
const string password = "password";

Environment* env = Environment::createEnvironment();
try {
Connection* conn = env->createConnection(username, password, url);
cout << "Connection to " << url << " successfully established." << endl;

env->terminateConnection(conn);
cout << "Connection closed." << endl;
}
catch (const SQLException& ex) {
cerr << "Error: " << ex.what() << endl;
}
Environment::terminateEnvironment (env);
}

Кто-нибудь сталкивался с этой проблемой и знает, есть ли обходные пути или статические библиотеки OCCI, на которые я могу ссылаться?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]