I am trying to connect the Grails project to Oracle DB 12c. But when I run the application, I get an exception:
Caused by: org.apache.commons.dbcp.SQLNestedException:
Cannot create PoolableConnectionFactory (ORA-28040:
No matching authentication protocol)
Found the suggested solution and tried to edit the .ora file, but to no avail.
Added the following to sqlnet.ora and tried setting values to 10,11,12
:
SQLNET.ALLOWED_LOGON_VERSION = 10
SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 10
SQLNET.ALLOWED_LOGON_VERSION_SERVER = 10
but didn’t work with any of them.
Can someone help with this problem?
Free translation ORA-28040: No matching authentication protocol exception from participant @Aman Adhikari
Answer 1, authority 100%
In the office. this documentation the error is mentioned in the context of Oracle RAC , but the solution is really the same for a non-clustered DB:
Bug 14575666
In 12.1, the default value for the SQLNET.ALLOWED_LOGON_VERSION parameter has been updated to 11. This means that database clients using pre-11g JDBC thin drivers cannot authenticate to 12.1 database servers unless the SQLNET.ALLOWED_LOGON_VERSION parameter is set to the old default of 8 .This will cause a 10.2.0.5 Oracle RAC database creation using DBCA to fail with the ORA-28040: No matching authentication protocol error in 12.1 Oracle ASM and Oracle Grid Infrastructure environments.
Workaround:
Set SQLNET.ALLOWED_LOGON_VERSION = 8 in the $ crs_home / network / admin / sqlnet.ora file.
Suggested solution: install SQLNET.ALLOWED_LOGON_VERSION = 8
on DB server .
This answer refers to the QA fake, so only the helpful comment underneath has been moved.
Comment :
Yes, in my case it solved the problem, but another appeared: invalid username / password
when I tried to connect in JDeveloper 10 to Oracle DB 12c.
In the end, I decided like this:
SQLNET.ALLOWED_LOGON_VERSION = 8
SQLNET.AUTHENTICATION_SERVICES (NONE)
ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE
ALTER USER XY IDENTIFIED BY Pass
(as case sensitivity changes)
Answer 2, authority 67%
Removed ojdbc14.jar and installed ojdbc6.jar instead. It worked for me.
Free translation response from contributor @ Aman Adhikari
Solved the problem by installing the ojdbc8.jar driver, it is compatible with Oracle 12c .
Similar response from contributor @shardendu