Home oracle Error while connecting: "ORA-28040: No matching authentication protocol exception"

Error while connecting: “ORA-28040: No matching authentication protocol exception”

Author

Date

Category

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:

  1. SQLNET.ALLOWED_LOGON_VERSION = 8
  2. SQLNET.AUTHENTICATION_SERVICES (NONE)
  3. ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE
  4. 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

Programmers, Start Your Engines!

Why spend time searching for the correct question and then entering your answer when you can find it in a second? That's what CompuTicket is all about! Here you'll find thousands of questions and answers from hundreds of computer languages.

Recent questions