0

I try to connect my SQL Server 2019 to Oracle via Polybase.

4/15/2020 1:25:51 PM [Thread:5816] [NativeOdbcConnection:InformationEvent] (Info, Normal): NativeOdbcConnection.Open, ConnectionString: Driver={PolyBase ODBC Driver for Oracle};encryptionlevel=3;arraysize=1048576;enablencharsupport=1;uid=ùser;hostname=192.1.1.100;port=1521;servicename=ORACLE, CreateOptions: ReadExternal, PacketSize: 0, EnableConnectionPooling: True, TransactionPropagationToken: null, ResourceGroup: null [Session.SessionId:SID8][Session.IsTransactional:False][Query.QueryId:QID12]
4/15/2020 1:25:51 PM [Thread:5816] [EngineInstrumentation:EngineQueryErrorEvent] (Error, High): 
Microsoft.SqlServer.DataWarehouse.Common.ErrorHandling.MppSqlException[105082:1]: 105082;Generic ODBC error: [Microsoft][ODBC Oracle Wire Protocol driver][Oracle]ORA-12660: Encryption or crypto-checksumming parameters incompatible Additional error <2>: ErrorMsg: [Microsoft][ODBC Oracle Wire Protocol driver][Oracle]ORA-12660: Encryption or crypto-checksumming parameters incompatible, SqlState: HY000, NativeError: -1 .

I already uninstalled the polybase service and reinstalled it. Also I updated my SQL Server to the newest CU.

From the server itself i cann connect to the oracle server itself via odbc or DBEAVER with no problem.

Thanks for any hint

Stefan S
  • 85
  • 2
  • 9
  • What does your `CREATE EXTERNAL DATA SOURCE` look like, and `CREATE EXTERNAL TABLE`? Oh, and what Oracle version are you connecting to? – Niels Berglund Apr 17 '20 at 04:29
  • `CREATE EXTERNAL DATA SOURCE [ORA_PROD] WITH (LOCATION = N'oracle://192.1.1.100:1521', CREDENTIAL = [OraUser])` `CREATE EXTERNAL TABLE DBO.Customers ( NUM DECIMAL(10,0), DON NVARCHAR(256), BEM NVARCHAR(200), DAT DATE, USR NVARCHAR(30), DA0 DATE ) WITH ( LOCATION='[ORACLE].[db].[customers]', DATA_SOURCE=ORA_PROD )` Oracle version is 11.2.0.4.0 64bit BTW: i still have the issue when i login with an AD account "Login failed. The login is from an untrusted domain and cannot be used with Integrated authentication.", the above error is with an SQL user. – Stefan S Apr 18 '20 at 11:53
  • In the external table's `LOCATION`, you have `[ORACLE].[db]...`, is `ORACLE` the SID of the oracle server? – Niels Berglund Apr 18 '20 at 15:38
  • Yes, thats correct – Stefan S Apr 18 '20 at 21:23

2 Answers2

0

Seems we need to pass additionally SQLNET parameters to connection

Long searches showed that we should use

CONNECTION_OPTIONS = 'DataIntegrityLevel=1'
scants25
  • 11
  • 2
0

Include

    CONNECTION_OPTIONS = 'EncryptionLevel=1, DataIntegrityLevel=1'

in CREATE EXTERNAL TABLE command.