升级到
Microsoft.Data.SqlClient Version=4.0.0
后出现错误:
与服务器成功建立连接,但随后出现 登录过程中发生错误。 (提供商:SSL 提供商, 错误:0 - 目标主体名称不正确。
我查找了重大更改https://github.com/dotnet/SqlClient/pull/1210,然后在连接字符串中设置
Encrypt=False
,但错误仍然相同。
只有恢复到
2.0.1
错误才消失
有人可以建议如何解决
4.0.0
中的问题吗?
AlwaysLearning 在评论中发布了答案:
目标主体名称不正确表示您在服务器中使用的名称或IP地址=...;连接字符串的一部分与 SQL Server 提供的 X.509 证书中的 CommonName 或 subjectAltName 不匹配,这并不奇怪,因为默认情况下,SQL Server 安装时仅使用当前主机名使用自签名证书。如果包含 TrustServerCertificate=False; 错误会消失吗?在(所有)连接字符串中?
啊,替换TrustServerCertificate=False; TrustServerCertificate=True; ...它意味着信任所提供的任何证书,无论 CommonName、SubjectAltName(s) 和证书链如何。
所以答案是
TrustServerCertificate=True
*添加此内容是为了准确表明问题已得到解答。社区 Wiki 不生成积分,因此这并不是试图窃取积分。 AlwaysLearning 应该发布答案以获得积分。