Postby Marco Droll » Wed 11 Feb 2015 08:41

We're currently trying to migrate from 11g to 12c and we are using DirectUtils.OldAuthMode = true. Now we're getting ORA-28040: No matching authentication protocol.

What is the difference between the 'normal' Authmode and the OldAuthMode.

Is there any way to get it working with OldAuthMode in 12c environment?

With regards
Marco Droll
Marco Droll
Posts: 9
Joined: Fri 21 Dec 2012 09:10

Re: OldAuthMode

Postby Pinturiccio » Mon 16 Feb 2015 09:58

When 'DirectUtils.OldAuthMode=true' is used in your code then algorithm of Oracle 7 and 8 is used for password encryption. For more information, please refer to http://www.devart.com/dotconnect/oracle/docs/?Devart.Data.Oracle~Devart.Data.Oracle.DirectUtils~OldAuthMode.html

You can specify the minimum authentication protocol allowed in the sqlnet.ora file of your Oracle server when connecting to Oracle. The SQLNET.ALLOWED_LOGON_VERSION parameter was used for this in the sqlnet.ora file prior to Oracle 12c. In Oracle 12c you must use SQLNET.ALLOWED_LOGON_VERSION_SERVER instead.

This parameter may be not present in the sqlnet.ora file. In this case, the default value is used. In Oracle versions lower than 12c, the default value is 8, i.e. the minimum authentication protocol allowed when connecting to Oracle is 8, and it’s possible to connect using 'DirectUtils.OldAuthMode=true'. For Oracle 12c the default value is 11, and you will get the "ORA-28040: No matching authentication protocol" error if you use 'DirectUtils.OldAuthMode=true'.

Add the following record to the sqlnet.ora file of your Oracle server in order for your application to connect to Oracle 12c in the Direct mode with 'DirectUtils.OldAuthMode=true':

For more information, please refer to https://docs.oracle.com/database/121/UPGRD/deprecated.htm#UPGRD52905

You can also use 'DirectUtils.OldAuthMode=False', which is the default behavior.
Devart Team
Posts: 1893
Joined: Wed 02 Nov 2011 09:44

Return to dotConnect for Oracle