.net core linux环境下 System.Data.SqlClient.SqlException: Connection Timeout Expired.


最近遇到了一个很奇葩的问题,我编写了一个.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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM