如果我有我的连接字符串中像这样的web.config文件(添加换行符以提高可读性):
<add
name="conn"
connectionString="Data Source=(localdb)\v11.0; Initial
Catalog=MyDB; Integrated Security=True; MultipleActiveResultSets=True;
AttachDbFilename=D:\Products.mdf"
providerName="System.Data.SqlClient"/>
该连接工作,我可以连接到数据库中的资源管理器数据库。
当我在代码中指定ConnectionString中或使用ConfigurationManager中得到它它不工作:
SqlCommand command = new SqlCommand();
command.CommandText = "select ...";
command.CommandType = CommandType.Text;
SqlConnection cn = new SqlConnection("Data Source=(localdb)\\v11.0;"+
"Initial Catalog=MyDB; Integrated Security=True; "+
"MultipleActiveResultSets=True; AttachDbFilename=D:\\Products.mdf");
command.Connection = cn;
cn.Open();
DataTable dataTable = new DataTable();
SqlDataReader reader;
reader = command.ExecuteReader();
dataTable.Load(reader);
cn.Close();
充分利用web.config中的连接字符串给出了同样的错误:
SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings
["conn"].ConnectionString;
我正的错误是“System.ComponentModel.Win32Exception:网络路径找不到”
在跟踪是说:
而与SQL Server建立连接时出现与网络相关的或特定于实例的错误。 服务器未找到或无法访问。 验证实例名称是否正确,以及SQL Server配置为允许远程连接。 (provider:命名管道提供程序,error:40 - 无法打开到SQL Server的连接)
我需要一些帮助解决这一点,一直在努力解决这个问题的时间和任何在线的建议是,我应该检查网络设置(因为它是连接到SQL Server Express的本地实例不适用)。 服务器名称(相同的字符串作品VS快,但不是在运行的代码)。
难道是一个身份验证问题? 如果是的话,那么为什么联合国信息的错误?
感谢您阅读我的文章,希望你能帮助我与此有关。
更新:
我尝试了以下几件事:
鉴于对MDF和LDF文件的组每个人完全权限
在网下的项目属性我试过跑下VS开发服务器和本地IIS Web服务器项目(是IIS快递)
没有运气,仍然无法连接它复制的代码已被以“ASP.NET空Web应用程序”创建项目时,连接完全没有问题