Reputation: 13
We recently migrated our database to 19c. Have a few .net applications which connect to Oracle db using system.data.oracleclient. The version of Oracle client installed is 12C. After the database upgrade, .net applications are unable to connect to the database due to the ORA-28040 No matching authentication protocol error.
Upvotes: 1
Views: 47503
Reputation: 11
I was getting the same issue.
I upgraded from 11c oracle to 19c and getting the same error. I fixed it by upgrading oracle connector from ojdbc.jar to ojdbc8.jar.
Remember, for 19c oracle, ojdbc8.jar is compatible, using any lower version will cause the error
Upvotes: 1
Reputation: 7043
Your Oracle client is not compatible by default with the upgraded database; it isn't hashing your password to the latest, most secure standard. You either need to upgrade your client to 12cR2 or later, or add the following lines to sqlnet.ora on your database server to force it to accept older (less secure) password hashes:
sqlnet.allowed_logon_version_server=12
sqlnet.allowed_logon_version_client=12
If that still doesn't work, you can try setting the values to "11", but don't go any lower than that for security reasons.
Note that you must reset the password of the user you want to use after applying these configurations.
Upvotes: 5
Reputation: 93
Note you have to create the user you want to use after applying those configuration else it will not work.
I don't think that's quite correct. In my experiences of this issue, you have to reset the password of any 'broken' user, using another account (that can log on) and a correctly configured (by manual configuration or by default) client.
Upvotes: 0