连接到本地数据库con.open()时出错

本文关键字:出错 open con 数据库 连接 | 更新日期: 2023-09-27 18:22:35

我安装了示例数据库Northwind,并将其连接到C#项目

我正试图连接到数据库并检索数据库中表的列名,但在尝试打开连接时遇到了一个错误,下面是我使用的代码:

public void connectToDB()
{
     Dictionary<object, object> colns = new Dictionary<object, object>();
     List<string> colnNames = new List<string>();
     con = new SqlConnection("Data Source = .NorthwindDB.mdf; Integrated Security=True");
     con.Open();
     cmd = con.CreateCommand();
     cmd.CommandText = "SELECT * FROM Products";
     adapter = new SqlDataAdapter(cmd);
     ds = new DataSet();
     adapter.Fill(ds);
     dt = ds.Tables["Products"];
     foreach(DataRow dr in dt.Rows)
     {
         foreach(DataColumn dc in dr.Table.Columns)
         {
             colnNames.Add(dc.ColumnName.ToString());
         }
     }
     foreach(string key in colnNames)
     {
         Console.WriteLine(key.ToString());
     }
     Console.ReadKey();
}

我得到以下错误:

System.Data.dll 中发生类型为"System.Data.SqlClient.SqlException"的未经处理的异常

其他信息:在建立与SQL Server的连接时,发生了与网络相关或特定于实例的错误。找不到或无法访问服务器。请验证实例名称是否正确,以及SQL Server是否已配置为允许远程连接。(提供程序:命名管道提供程序,错误:40-无法打开与SQL Server的连接)

另一件可能有帮助的事情是,我注意到,每当我单击start按钮执行代码时,出现在数据连接NorthwindDB.mdf上的绿色插头就会变成红色x。

连接到本地数据库con.open()时出错

您的连接字符串不正确,应该是这样的:

con = new SqlConnection("Data Source=(local);" +
                         "Initial Catalog=NorthwindDB.mdf;Integrated Security=True");
// Or Data Source=.''sqlexpress;

您可以在这里阅读更多关于连接字符串的信息:Database Connectionstrings