.net – 建立与SQL Server的连接时发生错误
如果我有这样的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 express).服务器名称(相同的字符串在VS Express中工作,但不在运行代码中). 可能是认证问题吗?如果是这样,为什么不提供信息错误? 感谢您阅读我的帖子,希望您能帮助我. 更新: 我尝试了以下几点: 给予该组所有对mdf和ldf文件的完全许可 在Web下的项目属性中,我尝试在VS开发服务器和本地IIS Web服务器(IIS Express)下运行项目, 没有运气,当将代码复制到使用“ASP.NET空Web应用程序”创建的项目时,仍然无法连接到连接完美的位置 解决方法您正确地转义了数据库文件名,而不是数据源,因此它尝试连接到名为“(localdb)11.0”的数据源,这很可能不存在.尝试像这样正常地转义它: SqlConnection cn = new SqlConnection("Data Source=(localdb)v11.0;"+ "Initial Catalog=MyDB; Integrated Security=True; "+ "MultipleActiveResultSets=True; AttachDbFilename=D:Products.mdf"); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |