2017-01-31 10 views
0

Я получаю ошибку ora-1017 при попытке подключиться к моей локальной базе данных oracle (версия 11.2.0.3) на виртуальной машине oracle linux версии 5 с использованием occi.
соединения кусок кода:ora-1017 неверное имя пользователя/пароль; logon denied using occi connection

user = "MY_USERNAME"; 
    passwd = "MY_PASSWORD"; 
    db = "localhost:1521/my_instance_name"; 

    env = Environment::createEnvironment(Environment::DEFAULT); 

    try 
    { 
    con = env->createConnection(user, passwd, db); 
    } 
    catch (SQLException& ex) 
    { 
    cout << ex.getMessage(); 

    exit(EXIT_FAILURE); 
    } 

- Я могу подключить к схеме с использованием SQLPlus.
- Я попытался установить SEC_CASE_SENSITIVE_LOGON на false, не помогло.
- Схема была создана с использованием имени пользователя и пароля в верхнем регистре. Я также указываю значения переменных в верхнем регистре, и насколько я знаю, OCCI в любом случае делает учетные данные заглавными, поэтому он должен работать.
- Правильная настройка переменной ORACLE_SID, а также данные tnsnames.ora.
- Кстати, этот код был сначала протестирован на моем компьютере-хозяине (win10) с использованием visual studio 2010, и он работал нормально, но не на моей виртуальной машине Linux (с использованием виртуального бокса). Я попробовал это, используя хост, указанный в tnsnames.ora и localhost, оба по-прежнему получают ту же проблему, но sqlplus позволяет мне подключаться с использованием как localhost, так и узла tnsnames.

Я пробовал все, что мог найти на google, но все равно ничего, поэтому, если у кого-нибудь есть полезные советы, это будет высоко оценено.

ответ

0

Оказалось, что мне нужно добавить флаг -D_GLIBCXX_USE_CXX11_ABI=0 в команду компиляции, теперь он работает.