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

添加.mdf文件后C#项目连接LocalDB出现登录错误求助

解决LocalDB附加.mdf后“登录过程中出错:管道另一端无进程”问题

问题场景

开发C#项目时,原本连接SQL Server正常,但将.mdf文件移入项目并修改app.config中的连接字符串后,登录表单提交信息时触发以下错误:

A connection was successfully established with the server but then an error during login process no process is on the other end of the pipe

当前使用的连接字符串(取自Visual Studio数据库属性):

Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|Cargo System.mdf;Integrated Security=True;Persist Security Info=False;Connect Timeout=30;User Instance=False;Context Connection=False;MultiSubnetFailover=True;TransparentNetworkIPResolution=False;

已尝试但无效的方案:

  • 向连接字符串添加Trusted_Connection=True;TrustServerCertificate=True; Encrypt=False
  • 服务器属性→安全性→设置为SQL Server和Windows身份验证模式
  • 启用强制密码策略
  • 将Login Auditing改为无

注:仅在将数据库移入项目后出现此错误,直接连接SQL Server时无异常。

针对性修复步骤

1. 检查LocalDB实例状态与文件权限

  • 打开命令提示符,执行sqllocaldb info MSSQLLocalDB查看实例状态。若显示为Stopped,运行sqllocaldb start MSSQLLocalDB启动实例。
  • 确认项目目录下的Cargo System.mdf及对应的.ldf日志文件(若存在),给当前用户赋予读写权限:右键文件→属性→安全→添加当前用户→勾选完全控制权限。

2. 简化并修正连接字符串

LocalDB无需MultiSubnetFailover这类针对集群的参数,同时注意路径拼接的正确性,建议使用以下简化版:

Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Cargo System.mdf;Integrated Security=True;Connect Timeout=30;
  • 确保|DataDirectory|后添加反斜杠,避免路径拼接错误;
  • 检查项目属性→生成→输出路径,确认.mdf文件已被复制到输出目录(如bin\Debug),可在解决方案资源管理器中右键.mdf文件→属性→设置“复制到输出目录”为“始终复制”。

3. 验证数据库文件完整性

  • 在Visual Studio中直接测试附加:打开视图→服务器资源管理器→数据连接→右键→添加连接→选择“Microsoft SQL Server数据库文件”→浏览选中项目中的.mdf文件,点击“测试连接”。若连接失败,说明文件可能损坏,需从原始SQL Server数据库重新导出:右键原始数据库→任务→分离(勾选删除连接),然后复制分离后的.mdf和.ldf文件到项目。

4. 重置LocalDB实例

若以上方法均无效,尝试重置LocalDB实例:

  1. 命令提示符执行:sqllocaldb stop MSSQLLocalDB
  2. 接着执行:sqllocaldb delete MSSQLLocalDB
  3. 最后执行:sqllocaldb create MSSQLLocalDB重新创建实例,再重新附加数据库文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 17:03:20