微軟釋出新的SQL Server資料連接程式後,原先System.Data.SqlClient除重大變更外已經很少更新,目前(2024/1月)最新版本是4.8.6,上次更新已經是2022年/11月,這四年內只更新了5次。
想讓專案走得長久,是可以考慮換成Mircosoft.Data.SqlClient ,他是System.Data.SqlClient的新版本,程式只需要變更using參照引用之外,自行開發的程式碼基本上是不需做什麼大異動。
更新完後,雖然程式碼compiler成功,但執行過程中確出現「憑證鏈結是由不受信任的授權單位所發出的」錯誤,原因在於原先System.Data.SqlClient預設加密憑證OFF,而Microsoft.Data.SqlClient預設會啟用加密憑證,所以執行時會驗證憑證,而大多數的SQL雖然支援TLS加密,但大部份都是自簽憑證,所以就會丟出失敗訊息。
解決方法:除了可以在我們資料庫連線字串(通常在appsettings.json中),加上;TrustServerCertificate=true來強制用戶端信任憑證不進行驗證。或是直接在程式中判斷並加上TrustServerCertificate參數(請參考暗黑大的做法)。
文章標籤
全站熱搜