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

时间:2015-11-19 15:59:56

标签: c# sql-server ado.net

我安装了示例数据库Northwind并将其附加到C#项目

我试图连接到数据库并检索数据库中表的列名,但是在尝试打开连接时遇到错误,这里是代码I' m使用这样做:

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();
}

我收到以下错误:

  

类型&#39; System.Data.SqlClient.SqlException&#39;未处理的异常发生在System.Data.dll

中      

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

另一件可能有用的事情是,我注意到每当我点击start按钮执行代码时,数据连接NorthwindDB.mdf上显示的绿色插头就会变为红色x。< / p>

1 个答案:

答案 0 :(得分:3)

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

#requires -modules ActiveDirectory,userinfo

您可以在此处详细了解连接字符串:Database Connectionstrings