[C#] System.Data.OleDb.OleDbException: [DBNETLIB][ConnectionOpen (SECCreateCredentials()).]SSL 安全設定錯誤。

Source:  mscorlib   
Message:  引動過程的目標傳回例外狀況。   
Inner Exception:     -->System.Web.Services.Protocols.SoapException: 伺服器無法處理要求。 ---> System.Data.OleDb.OleDbException: [DBNETLIB][ConnectionOpen (SECCreateCredentials()).]SSL 安全設定錯誤。
  於 System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
 

參考資料:ODBC 與 OLEDB 之 SQL Server TLS 1.2 支援問題-黑暗執行緒 (darkthread.net)

近期公司在弱掃,停用TLS1.0、1.1改為1.2,測試連線出現錯誤

錯誤訊息:

Source:  mscorlib   
Message:  引動過程的目標傳回例外狀況。   
Inner Exception:     -->System.Web.Services.Protocols.SoapException: 伺服器無法處理要求。 ---> System.Data.OleDb.OleDbException: [DBNETLIB][ConnectionOpen (SECCreateCredentials()).]SSL 安全設定錯誤。
 於 System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)

原因:

Microsoft OLE DB Provider for SQL Server新舊版的連線字串寫法不同,舊版是:SQLOLEDB、新版是:MSOLEDBSQL

錯誤解決方法:

connnectionString  "Provider=SQLOLEDB;Data Source=OO;User ID=user;Password=****;Initial Catalog=XXX" 改成 Provider=MSOLEDBSQL;