FIX: Creating an external table against an Oracle database in SQL Server 2019 may fail if using Oracle database 12.2 or later versions

Applies to: SQL Server 2019 on LinuxSQL Server 2019 on Windows

Symptoms


Assume that you create an external data source to Oracle database 12.2 or later versions. When you try to create an external table against that data source in SQL Server 2019, you may get the following error:
 
Msg 105082, Level 16, State 1, Line LineNumber
105082;Generic ODBC error: [Microsoft][ODBC Oracle Wire Protocol driver][Oracle]ORA-28040: No matching authentication protocol Additional error <2>: ErrorMsg: [Microsoft][ODBC Oracle Wire Protocol driver][Oracle]ORA-28040: No matching authentication protocol, SqlState: HY000, NativeError: 28040 .

Cause


This issue occurs because SQL Server 2019 is not using the latest ODBCdriver version to connect to the Oracledatabase, and the current driver isn't configured with new security mechanisms.

Status


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. 

Resolution


This fix is included in the following cumulative update for SQL Server:
About cumulative updates for SQL Server:
Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:

Workaround


To work around the issue, you can edit the sqlnet.ora file on the Oracle server to add thefollowing:
sqlnet.allowed_logon_version_server=8

References


Learn about the terminology that Microsoft uses to describe software updates.

Third-party information disclaimer​
The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, about the performance or reliability of these products.