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

C#连接SQL Server提示未指定LocalDB实例的SqlException错误如何解决

C#连接LocalDB报错解决方案

核心问题定位

报错信息明确提示SQL Network Interfaces 错误: 51,根本原因是连接字符串中LocalDB未指定实例名,不符合(localdb)\实例名称的格式要求。

分步解决

1. 修正连接字符串

常见的LocalDB默认实例名为MSSQLLocalDB(旧版本可能为v11.0),需要在Data Source参数中补充实例名,C#中注意转义反斜杠:

// 建议用@前缀的逐字字符串,避免反斜杠转义问题
private string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;Initial Catalog=Contact_DB;User ID=****;Password=**********";

如果本地使用Windows身份验证调试,可以替换身份验证参数,无需手动输入账号密码:

private string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;Initial Catalog=Contact_DB;Integrated Security=True";

2. 修复代码其余语法/逻辑错误

当前代码还存在类型拼写错误、对象未实例化、资源未释放的问题,修正后的SelectAll方法如下:

public DataTable SelectAll()
{
    string query = "Select * From MyContacts";
    // using语法会自动释放连接、命令、适配器资源,无需手动关闭连接
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        using (SqlCommand command = new SqlCommand(query, connection))
        {
            // 实例化缺失的SqlDataAdapter对象
            SqlDataAdapter adapter = new SqlDataAdapter(command);
            DataTable data = new DataTable();
            adapter.Fill(data);
            return data;
        }
    }
}

3. 可选验证步骤(修改后仍报错时执行)

  • 打开命令提示符/PowerShell,执行sqllocaldb info查看本地所有可用的LocalDB实例名,确认你使用的实例名真实存在
  • 若实例未启动,执行sqllocaldb start MSSQLLocalDB启动对应实例
  • 确认Contact_DB数据库已经正确附加到目标LocalDB实例中
  • 验证登录账号拥有Contact_DB的访问权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 17:36:01