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

.NET7 MAUI Blazor应用部署后无法连接SQL Server Express求助

解决MAUI Blazor应用部署后无法连接SQL Server Express 2019的问题(Error 26)

问题概述

使用.NET 7开发的MAUI Blazor应用本地运行正常,但部署到另一台Windows 10 Pro x64机器后,触发SQL Server连接错误:

建立与SQL Server的连接时出现与网络相关或特定于实例的错误。找不到服务器或无法访问。请验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(provider: SNI_PN11, error: 26 - Error Locating Server/Instance Specified)

已确认信息:

  • 发布前已在appsettings.json配置连接字符串,且该字符串在WinForms应用中可正常连接
  • SQL Server Express 2019已开启远程连接、启用TCP/IP、设置端口1433,已配置/关闭防火墙和病毒防护
  • SQL Profiler未记录任何连接尝试

排查与解决步骤

1. 确认MAUI应用实际加载的连接字符串

MAUI发布后,appsettings.json可能未被正确复制到目标机器,或运行时加载的配置文件不符合预期:

  • 到目标机器的应用安装目录(通常为C:\Program Files\WindowsApps\<应用包名>,需开启显示隐藏/系统文件),检查appsettings.json的存在性及内容是否与本地一致
  • 可在应用中添加日志输出(例如在Program.cs中注入IConfiguration后打印连接字符串),确认运行时实际使用的配置

2. 安装目标机器所需的SQL客户端组件

MAUI Blazor依赖的SQL客户端组件与WinForms不同,目标机器可能缺失必要驱动:

  • 安装Microsoft ODBC Driver 17 for SQL Server
  • 打开SQL Server Configuration Manager(无则单独安装),确认客户端TCP/IP已启用,且默认端口设置为1433

3. 改用IP+端口的连接字符串格式

避免使用实例名(如.\SQLEXPRESS),改用IP地址+端口的方式,减少实例解析失败概率:

  • 原连接字符串示例:Server=.\SQLEXPRESS;Database=YourDB;Trusted_Connection=True;
  • 修改为:Server=192.168.x.x,1433;Database=YourDB;Trusted_Connection=True;(替换为SQL服务器实际IP)
  • 若使用SQL身份验证,需追加User Id=xxx;Password=xxx;

4. 验证目标机器到SQL服务器的网络连通性

即使关闭防火墙,仍需确认网络层面可达:

  • 在目标机器执行telnet <SQL服务器IP> 1433,测试端口是否连通
  • 执行ping <SQL服务器IP>,确认服务器网络可达

5. 确认SQL Server实例状态与名称

  • 在SQL服务器上打开服务管理器,确认SQL Server (SQLEXPRESS)服务处于运行状态
  • 执行SELECT @@SERVERNAME获取完整实例名,确保连接字符串中的实例名与之一致

6. 检查MAUI应用的运行权限

MAUI Blazor在Windows上可能以受限权限运行,导致无法访问网络:

  • 右键应用图标,选择“以管理员身份运行”测试连接
  • 在MAUI项目的Properties -> Windows Settings -> Capabilities中,确认勾选“允许应用访问网络”权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 00:11:14