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

Я пытаюсь подключить проект grails к Oracle databse (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

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

я добавил следующий фрагмент в заменить sqlnet.Ора!-Файл -5-->:

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

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

может кто-нибудь, пожалуйста, помогите мне с этим ?

7 ответов


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


вот текст, который я нашел в эксперты-обмен:

ошибка 14575666

в 12.1, значение по умолчанию для SQLNET.ALLOWED_LOGON_VERSION параметр обновлен до 11. Это означает, что клиенты базы данных использование тонких драйверов JDBC pre-11g не может аутентифицироваться в базе данных 12.1 серверы, кроме theSQLNET.Параметр ALLOWED_LOGON_VERSION имеет значение старое значение по умолчанию 8.

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

обходной путь: установите SQLNET.ALLOWED_LOGON_VERSION=8 в оракул/сети/администратор/заменить sqlnet.файл ora.


за исключением добавления следующего в заменить sqlnet.Ора!--4-->

SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 8
SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8

Я также добавил следующее как к клиенту, так и к серверу, что разрешило мою проблему

SQLNET.AUTHENTICATION_SERVICES = (NONE)

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


добавлять

SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8

является идеальным решением язык SQL.каталог Ора ..\product\12.1.0\dbhome_1\NETWORK\ADMIN


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

  1. выберите "проект" в Project Explorer
  2. Правой Кнопкой Мыши на Project -> Build Path -> Configure Build Path
  3. на Order and Export tab и выберите ojdbc.jar
  4. нажать кнопку TOP, чтобы переместить его в топ

Pls ссылаются на эту ссылку для сервера Oracle 12c: http://www.redstk.com/ora-28040-no-matching-authentication-protocol-after-upgrade-to-12c/


Я решил эту проблему с помощью ojdbc8.сосуд. Oracle 12c совместим с ojdbc8.Джар