2015-03-09 4 views
0

Я использую Perl DBI &, пытающийся подключиться к Oracle 12c. Я получаю сообщение об ошибке:Perl DBI, подключающийся к Oracle 12c

DBI connect('host=serverip;sid=comms;port=1521','comms',...) failed: ORA-28040: No matching authentication protocol (DBD ERROR: OCISessionBegin)

Моя связь:

DBI->connect($connectionString, $user, $passwd,{PrintError=>1, RaiseError=>1, AutoCommit=>1})

Хотелось бы знать, если DBI может подключиться к Oracle 12c? Должен ли я изменить использование чего-то еще?

Является новым для Perl, поэтому любая помощь очень ценится.

Thank you.

ответ

0

Похоже, проблема связана с файлом sqlnet.ora . Параметры могут быть не одинаковыми для файла sqlnet.ora на стороне клиента и на стороне сервера.

Поскольку вы не разместили всю информацию, может быть более одной проблемы. однако наиболее распространенным является SQLNET.ALLOWED_LOGON_VERSION.

Прочитать Database Net Services Reference documentation для получения дополнительной информации о Параметры для файла sqlnet.ora.

+0

Благодарим вас за ответ. Добавлено SQLNET.ALLOWED_LOGON_VERSION = 8 и возможность подключения сейчас. – njihan

+0

Добро пожаловать. Спасибо за ответ. –

0

Строка соединения всегда в форме: «DBI: Oracle:» Есть несколько способов, чтобы определить базу данных:

  1. Если база данных является локальной, с указанием SID или службы имя будет достаточно ,
  2. Если база данных определена в файле TNSNAMES.ORA, вы можете использовать имя службы, приведенные в файле
  3. Для подключения без TNSNAMES.ORA файла, вы можете использовать EZCONNECT URL, вида:// host [: port] [/ service_name]

 Смежные вопросы

  • Нет связанных вопросов^_^