Подтвердить что ты не робот

ORA-28040: Отсутствие соответствующего исключения протокола аутентификации

Я пытаюсь подключить свой проект grails к базе данных Oracle (Oracle 12c) в системе windows (8). Однако всякий раз, когда я запускаю свое приложение, я получаю следующее исключение:

Caused by: org.apache.commons.dbcp.SQLNestedException: 
Cannot create PoolableConnectionFactory (ORA-28040: 
No matching authentication protocol)

Caused by: 
java.sql.SQLException: ORA-28040: 
No matching authentication protocol

В соответствии с интернет-предложением я также попытался отредактировать свой *.ora файл, но он не работает.

Я добавил следующий фрагмент в sqlnet.ora файл:

SQLNET.ALLOWED_LOGON_VERSION=10
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10
SQLNET.ALLOWED_LOGON_VERSION_SERVER=10

Здесь я попытался назначить (10,11,12), но ни один из них не работает.

Может кто-нибудь помочь мне с этим?

4b9b3361

Ответ 1

Я удалил ojdbc14.jar файл и использовать ojdbc6.jar вместо и он работал для меня

Ответ 2

Вот текст, который я нашел на экспертной бирже:

Ошибка 14575666

В 12.1 значение по умолчанию для параметра SQLNET.ALLOWED_LOGON_VERSION было обновлено до 11. Это означает, что клиенты базы данных, использующие тонкие драйверы до 11 г JDBC, не могут аутентифицироваться на серверах баз данных 12.1, если параметр SQLNET.ALLOWED_LOGON_VERSION не установлен на старое значение по умолчанию 8.

Это приведет к созданию базы данных Oracle RAC 10.2.0.5 с использованием DBCA с ошибкой с ORA-28040: Отсутствует соответствующая ошибка протокола аутентификации в 12.1 Oracle ASM и средах Oracle Grid Infrastructure.

Обход проблемы: установите SQLNET.ALLOWED_LOGON_VERSION = 8 в файле oracle/network/admin/sqlnet.ora.

Ответ 3

За исключением добавления следующего к sqlnet.ora

SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 8
SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8

Я также добавил следующие как для Клиента, так и для Сервера, которые решили мою проблему

SQLNET.AUTHENTICATION_SERVICES = (NONE)

Также см. сообщение ORA-28040: нет соответствующего протокола аутентификации

Ответ 4

Я решил эту проблему, используя ojdbc8.jar. Oracle 12c совместим с ojdbc8.jar

Ответ 5

Добавление

SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8

- идеальное решение Каталог sql.ora ..\продукт\12.1.0\dbhome_1\NETWORK\ADMIN

Ответ 6

Я использовал eclipse и, попробовав все остальные ответы, не работал для меня. В конце концов, то, что сработало для меня, было перемещение ojdb7.jar в начало пути сборки. Это происходит, когда несколько банок имеют конфликтующие одни и те же классы.

  1. Выберите проект в Project Explorer
  2. Щелкните правой кнопкой мыши Project → Build Path → Configure Build Path
  3. Перейдите на вкладку " Order and Export " и выберите ojdbc.jar
  4. Нажмите кнопку TOP чтобы переместить ее вверх

Ответ 7

просто установите ojdbc-full, который содержит релиз 12.1.0.1.

Ответ 8

Это за исключением добавления следующего к sqlnet.ora

SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 8
SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8

Если вы получаете сообщение об ошибке "ORA-01017: неверное имя пользователя/пароль; вход в систему запрещен", вам необходимо заново создать пароль.