Ответ 1
Я удалил ojdbc14.jar файл и использовать ojdbc6.jar вместо и он работал для меня
Я пытаюсь подключить свой проект 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), но ни один из них не работает.
Может кто-нибудь помочь мне с этим?
Я удалил 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
Добавление
SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8
- идеальное решение Каталог sql.ora ..\продукт\12.1.0\dbhome_1\NETWORK\ADMIN
Я использовал eclipse и, попробовав все остальные ответы, не работал для меня. В конце концов, то, что сработало для меня, было перемещение ojdb7.jar
в начало пути сборки. Это происходит, когда несколько банок имеют конфликтующие одни и те же классы.
- Выберите проект в
Project Explorer
- Щелкните правой кнопкой мыши
Project → Build Path → Configure Build Path
- Перейдите на вкладку "
Order and Export
" и выберитеojdbc.jar
- Нажмите кнопку
TOP
чтобы переместить ее вверх
просто установите ojdbc-full, который содержит релиз 12.1.0.1.
Это за исключением добавления следующего к sqlnet.ora
SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 8
SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8
Если вы получаете сообщение об ошибке "ORA-01017: неверное имя пользователя/пароль; вход в систему запрещен", вам необходимо заново создать пароль.