Я пытаюсь подключить проект 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
В соответствии с предложением Интернета я также попытался изменить файл *. ora, но он не работает.
Я добавил следующий фрагмент в файле sqlnet.ora:
SQLNET.ALLOWED_LOGON_VERSION=10
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10
SQLNET.ALLOWED_LOGON_VERSION_SERVER=10
Здесь я попытался назначить (10,11,12), но ни один из них не работает.
Может ли кто-нибудь помочь мне с этим?
Я удалил ojdbc14.jar файл и использовать ojdbc6.jar вместо и он работал для меня
Вот текст, который я нашел на экспертной бирже:
Ошибка 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.
За исключением добавления следующего к sqlnet.ora
SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 8
SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8
Я также добавил следующие как для Клиента, так и для Сервера, которые решили мою проблему
SQLNET.AUTHENTICATION_SERVICES = (NONE)
Также см. сообщение ORA-28040: нет соответствующего протокола аутентификации
Я решил эту проблему, используя ojdbc8.jar. Oracle 12c совместим с ojdbc8.jar
Я использовал eclipse и, попробовав все остальные ответы, не работал для меня. В конце концов, то, что сработало для меня, было перемещение ojdb7.jar
в начало пути сборки. Это происходит, когда несколько банок имеют конфликтующие одни и те же классы.
- Выберите проект в
Project Explorer
- Щелкните правой кнопкой мыши
Project → Build Path → Configure Build Path
- Перейдите на вкладку "
Order and Export
" и выберитеojdbc.jar
- Нажмите кнопку
TOP
чтобы переместить ее вверх
Добавление
SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8
- идеальное решение Каталог sql.ora ..\продукт\12.1.0\dbhome_1\NETWORK\ADMIN