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

.NET 8 API连接SQL Server登录过程报错求助

解决.NET 8连接SQL Server时的登录解密错误

问题背景

使用.NET 8开发连接SQL Server的API,连接字符串如下:

configuration["ConnectionStrings:DBConnection"] = "Data Source=\"MYIP, MYPORT\\SQL_I5\";Initial Catalog=Pr;User ID=sa;Password=myPassword;Encrypt=false;TrustServerCertificate=true";

遇到错误:

Microsoft.Data.SqlClient.SqlException (0x80131904): 已成功与服务器建立连接,但在登录过程中发生错误。(provider: SSL Provider, error: 0 - 指定的数据无法解密。

已尝试添加TrustServerCertificate=true、设置Encrypt=false及修改参数大小写,问题仍未解决。

解决方案

1. 修正数据源格式

连接字符串中Data Source的格式存在冲突:

  • 若使用端口指定,格式应为MYIP,MYPORT(无需添加实例名,端口已唯一指向目标实例)
  • 若使用命名实例,格式应为MYIP\SQL_I5(默认端口1433时可省略端口)
  • C#字符串中需用\\转义反斜杠,若配置在appsettings.json中则只需单个\

2. 调整SSL相关配置

即使设置Encrypt=false,部分SQL Server环境可能强制SSL:

  • 登录SQL Server配置管理器,找到对应实例的TCP/IP协议,查看强制加密是否设为否
  • 若无法修改服务器配置,尝试将连接字符串的Encrypt改为true,保留TrustServerCertificate=true

3. 验证登录账号有效性

  • 确认sa账号已启用、未被锁定,密码无拼写错误(若密码含特殊字符,需用引号包裹或正确转义)
  • 检查sa账号是否拥有目标数据库Pr的访问权限

4. 排查系统加密组件问题

  • 确保客户端和服务器的.NET 8运行时安装最新补丁
  • 启用客户端系统的TLS 1.2或更高版本协议,确保与SQL Server兼容

内容的提问来源于stack exchange,提问作者Sergio González

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 07:42:38