连接到本地数据库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 = new SqlConnection("Data Source=(local);" +
"Initial Catalog=NorthwindDB.mdf;Integrated Security=True");
// Or Data Source=.''sqlexpress;
您可以在这里阅读更多关于连接字符串的信息:Database Connectionstrings
。