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

C# 连接到本地数据库con.open()时出错,c#,sql-server,ado.net,C#,Sql Server,Ado.net,我已将示例数据库Northwind安装并附加到一个C项目 我正在尝试连接到数据库并检索数据库中某个表的列名,但在尝试打开连接时出错,下面是我用来执行此操作的代码: public void connectToDB() { Dictionary<object, object> colns = new Dictionary<object, object>(); List<string> colnNames = new List<string

我已将示例数据库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的连接


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

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

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

您可以在此处阅读有关连接字符串的更多信息:

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

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

您可以在此处阅读有关连接字符串的更多信息:

NorthwindDB.mdf不是数据源。您能解释一下吗?那是什么呢?我不熟悉这种编程语言:@user2946329为@user2946329的延迟感到抱歉,我找到了一种从mdf文件的属性面板复制connectionString值的方法,我刚刚在路径字符串中添加了双斜杠。无论如何,非常感谢您的帮助和耐心。NorthwindDB.mdf不是数据源。您能解释一下吗?那是什么呢?我不熟悉这种编程语言:@user2946329为@user2946329的延迟感到抱歉,我找到了一种从mdf文件的属性面板复制connectionString值的方法,我刚刚在路径字符串中添加了双斜杠。无论如何,非常感谢你的帮助和耐心。