You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 8 API连接本地SQL Server遇Microsoft.Data.SqlClient证书异常求助

.NET 8 API连接本地SQL Server证书验证失败,已尝试Encrypt=false/TrustServerCertificate=True无效

本地调试.NET 8 API时,使用Microsoft.Data.SqlClient 5.2.0连接本地SQL Server(版本16.0.1000.6),因证书问题抛出异常,具体场景如下:

Visual Studio HTTP/HTTPS调试异常

Microsoft.Data.SqlClient.SqlException (0x80131904): 已成功与服务器建立连接,但登录过程中发生错误。(provider: SSL Provider, error: 0 - 证书链由不受信任的机构颁发。)
---> System.ComponentModel.Win32Exception (0x80090325): 证书链由不受信任的机构颁发。

Docker调试异常

已成功与服务器建立连接,但预登录握手过程中发生错误。(provider: TCP Provider, error: 35 - 捕获到内部异常)
---> System.Security.Authentication.AuthenticationException: 证书链验证失败。错误:'自签名证书,[状态: UntrustedRoot]'。证书名称不匹配。提供的'DataSource'或'HostNameInCertificate'与证书中的名称不匹配。

已知Microsoft.Data.SqlClient默认将Encrypt设为true,尝试在连接字符串中添加Encrypt=false或TrustServerCertificate=True(暂未尝试安装有效证书方案),修改后的连接字符串如下:

"Server=host.docker.internal, 1433;Database=***;User ID=***;Password=***;TrustServerCertificate=True"

或

"Server=host.docker.internal, 1433;Database=RaceEnduranceHub;User ID=***;Password=***;Encrypt=false"

连接字符串通过以下代码配置使用:

services.AddDbContextFactory<EnduranceHubContext>(options =>
        options.UseSqlServer(configuration.GetConnectionString("default")).EnableSensitiveDataLogging());

但上述两种方案均未解决问题,异常仍持续出现。

内容的提问来源于stack exchange,提问作者Diceble

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 06:53:42