1. 程式人生 > >.net core linux環境下 數據庫連接超時

.net core linux環境下 數據庫連接超時

client 同步 多個數據庫 cor sqlserver sed log 無法定位 表名

最近遇到了一個很奇葩的問題,我編寫了一個.net core程序讀取多個數據庫數據源,進行數據同步處理。該程序在windows環境下運行完全正常,但在linux環境下運行報異常,提示

System.Data.SqlClient.SqlException: Connection Timeout Expired. The timeout period elapsed during the post-login phase.

更奇葩的地方在於在linux環境下,兩個數據庫,一個讀取正常,一個讀取異常。我考慮了各種原因,端口問題,連接串問題,表名中文問題,視圖問題,ORM問題(從EF切換到dapper)始終無法定位真正的原因。

最後發現net core 的System.Data.SqlClient最低支持SqlServer 2008 R2 SP3,小於這個版本的就會報錯(見引用)。看來.net core不是銀彈,坑還是有的。

引用:

https://www.cnblogs.com/xiaxiaolu/p/10309064.html>
https://github.com/dotnet/corefx/issues/9719

.net core linux環境下 數據庫連接超時