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

C#项目LocalDB的.mdf文件跨设备无法连接报错求助

SQL Server连接错误26排查解决方案

实例名适配修正

默认SQL Server 2019 Express安装的实例名为SQLEXPRESS,你代码中使用的(LocalDB)\MSSQLLocalDB是LocalDB专属的实例名,SQL Server Express默认不附带LocalDB组件,两种适配方案二选一:

  • 方案一:单独为朋友设备安装SQL Server 2019版本的LocalDB组件,安装完成后即可保留原连接字符串正常运行
  • 方案二:修改连接字符串的数据源配置,适配现有SQL Server 2019 Express实例,将Data Source值修改为.\SQLEXPRESS

连接字符串优化

建议优化原连接字符串写法,规避路径、超时类异常:

public string connectionString { get; set; } = 
    $"Data Source=.\\SQLEXPRESS;AttachDbFilename=\"{Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Passwords.mdf")}\";Integrated Security=True;Connect Timeout=30";

优化点说明:

  • 用Path.Combine拼接路径,避免不同设备的路径分隔符不兼容
  • 新增连接超时配置,避免首次附加大体积mdf文件超时触发报错
  • 若朋友的SQL Server未开启Windows集成验证,将Integrated Security=True替换为User ID=SQL账号;Password=SQL密码

SQL Server运行配置检查

  • 打开SQL Server配置管理器,进入对应实例的网络配置,启用TCP/IP协议,修改后重启SQL Server服务生效
  • 系统服务列表中找到SQL Server Browser服务,设置启动类型为自动并启动服务,错误26绝大多数场景和该服务未运行有关
  • 临时关闭Windows Defender防火墙测试连接,若关闭后可正常连接,需在防火墙添加入站规则,放行sqlservr.exe和sqlbrowser.exe程序

数据库文件权限验证

  • 确认打包时已将Passwords.mdf和对应的Passwords_log.ldf日志文件一同发送,且放置在应用运行的根目录下
  • 右键mdf文件打开属性-安全,添加Everyone用户的读取、写入权限,避免权限不足无法附加数据库

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 09:45:03