微軟釋出新的SQL Server資料連接程式後,原先System.Data.SqlClient除重大變更外已經很少更新,目前(2024/1月)最新版本是4.8.6,上次更新已經是2022年/11月,這四年內只更新了5次。

.NET Core 憑證鏈結是由不受信任的授權單位所發出的-

 

想讓專案走得長久,是可以考慮換成Mircosoft.Data.SqlClient ,他是System.Data.SqlClient的新版本,程式只需要變更using參照引用之外,自行開發的程式碼基本上是不需做什麼大異動。

.NET Core 憑證鏈結是由不受信任的授權單位所發出的-

更新完後,雖然程式碼compiler成功,但執行過程中確出現「憑證鏈結是由不受信任的授權單位所發出的」錯誤,原因在於原先System.Data.SqlClient預設加密憑證OFF,而Microsoft.Data.SqlClient預設會啟用加密憑證,所以執行時會驗證憑證,而大多數的SQL雖然支援TLS加密,但大部份都是自簽憑證,所以就會丟出失敗訊息。

.NET Core 憑證鏈結是由不受信任的授權單位所發出的-

解決方法:除了可以在我們資料庫連線字串(通常在appsettings.json中),加上;TrustServerCertificate=true來強制用戶端信任憑證不進行驗證。或是直接在程式中判斷並加上TrustServerCertificate參數(請參考暗黑大的做法)。
 

.NET Core 憑證鏈結是由不受信任的授權單位所發出的-

arrow
arrow
    文章標籤
    .net core SQL Server C#
    全站熱搜
    創作者介紹
    創作者 湯瑪的吳 的頭像
    湯瑪的吳

    安達利機車行

    湯瑪的吳 發表在 痞客邦 留言(0) 人氣()