链接sqlserver数据库提示:证书链是由不受信任的颁发机构颁发的错误
链接sqlserver数据库提示:证书链是由不受信任的颁发机构颁发的错误 解决方案 3:添加到 TrustServerCertificate=true
连接字符串。 这将强制客户端在不验证的情况下信任证书。
原因
如果满足以下两个条件,则会发生这些错误:
-
SQL Server 实例的“强制加密”设置为“否”。
-
客户端连接字符串未显式指定加密属性的值,或者未在 DSN 中显式设置或更新加密选项。
发生此错误的原因是客户端驱动程序的默认行为发生了更改。 旧版客户端驱动程序旨在假定默认情况下数据加密为 OFF 。 新驱动程序假定此设置默认为 ON 。 由于数据加密设置为 ON,因此驱动程序会尝试验证服务器的证书,但失败。
解决方案
-
解决方案 1:使用 Microsoft OLE DB Driver for SQL Server 18.x。 可以从Microsoft OLE DB Driver for SQL Server的发行说明下载驱动程序。
-
解决方案 2:如果应用程序连接字符串属性已为“加密/使用数据加密”设置指定值为“是”或“必需”,请将值更改为“否”或“可选”。 例如, 对数据使用加密=可选。 如果连接字符串未为“加密/使用数据加密”指定任何值,请将“使用数据加密=可选”添加到连接字符串。 有关详细信息,请参阅 加密和证书验证。
-
解决方案 3:添加到
;TrustServerCertificate=true
连接字符串。 这将强制客户端在不验证的情况下信任证书。 -
备注
目前,MSOLEDBSQL19阻止在没有加密的情况下创建链接服务器,并且 (自签名证书) 不足的情况下创建受信任的证书。 如果需要链接服务器,请使用 MSOLEDBSQL 的现有受支持版本。
已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: SSL Provider, error: 0 - 证书链是由不受信任的颁发机构颁发的。) (.Net SqlClient Data Provider)
更多推荐
所有评论(0)