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

.NET 6连接远程SQLExpress报网络错误,VS服务器资源管理器可正常连接

.NET 6连接远程SQLExpress失败的解决方案

核心原因及对应解决步骤:

  • 替换为.NET 6官方推荐的数据库驱动
    .NET 6及后续版本官方不再优先维护System.Data.SqlClient,转而推荐使用Microsoft.Data.SqlClient——后者针对跨平台和远程连接场景做了适配优化,旧驱动在.NET 6环境下可能存在兼容性问题。
    操作步骤:

    1. 移除项目中已安装的System.Data.SqlClient NuGet包
    2. 安装Microsoft.Data.SqlClient NuGet包
    3. 修改代码中的命名空间引用及相关代码:
      using Microsoft.Data.SqlClient;
      
      var builder = new SqlConnectionStringBuilder
      {
          DataSource = $"{ip}\\SQLEXPRESS, 1433",
          InitialCatalog = "xxx",
          UserID = "user",
          Password = "pass"
      };
      using var thisConnection = new SqlConnection(builder.ConnectionString);
      thisConnection.Open();
      
  • 调整连接字符串的端口写法
    若已明确指定端口1433,可尝试去掉实例名,直接使用IP:端口的格式,避免实例名与端口解析冲突:

    DataSource = $"{ip}:1433", // 替换原写法:{ip}\\SQLEXPRESS, 1433
    

    注意:此写法要求SQL Server服务确实监听1433端口,且TCP/IP协议已正常启用。

  • 二次确认SQL Server TCP/IP配置
    即使已设置过端口,仍需验证以下配置:

    1. 打开「SQL Server配置管理器」→「SQL Server网络配置」→「SQLEXPRESS的协议」,确保TCP/IP处于启用状态
    2. 双击TCP/IP→切换到「IP地址」选项卡,拉至底部的「IPAll」,确认「TCP端口」设置为1433
    3. 重启SQL Server(SQLEXPRESS)服务,确保配置生效
  • 检查应用的防火墙出站权限
    确认.NET 6应用拥有发起1433端口出站连接的权限:

    1. 打开Windows防火墙→「高级设置」→「出站规则」
    2. 检查是否存在允许该应用(或.NET 6运行时)访问TCP 1433端口的规则,若缺失则新建对应规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 15:31:12