C# 连接到本地数据库con.open()时出错
我已将示例数据库Northwind安装并附加到一个C项目 我正在尝试连接到数据库并检索数据库中某个表的列名,但在尝试打开连接时出错,下面是我用来执行此操作的代码: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
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值的方法,我刚刚在路径字符串中添加了双斜杠。无论如何,非常感谢你的帮助和耐心。