尝试为文件...\WebSite\App_Data\aspnetdb.mdf 附加自动命名的数据库失败
2010年1月24日12:48:59
背景
今天开始coding家园志,首先是写数据访问层的东东。一开始就碰上了连接字符串配置的问题。
/// <summary> /// 获取连接字符串 /// </summary> public static string ConnectionString { get { string _connectionString = ConfigurationManager.ConnectionStrings[0].ToString(); return _connectionString; } }
显然,连接字符串就是web.config里connectionStrings 元素的第一个了。
<connectionStrings> <add name="NcuhomeORGConnectionString" connectionString="Data Source=LVFEI-PC;Initial Catalog=NcuhomeORG;Integrated Security=True" providerName="System.Data.SqlClient"/> </connectionStrings>
但是程序一运行就报错误了:
产生错误的原因
web.config里面有默认配置,除非在配置文件中使用 clear 元素,否则将继承父配置文件中包含的连接字符串。下面的默认 connectionStrings 元素是在 Machine.config 文件中配置的。
解决方法:
方法一:改动web.config,在connectionStrings节点下先添加<clear />节点,这样就不会使用默认配置了。
<connectionStrings> <clear/> <add name="NcuhomeORGConnectionString" connectionString="Data Source=LVFEI-PC;Initial Catalog=NcuhomeORG;Integrated Security=True" providerName="System.Data.SqlClient"/> </connectionStrings>
方法二:将ConnectionStrings[0]改成ConnectionStrings[1].
方法三:不用索引,改用节点的name这样最不容易出错(推荐),如这里可以改成ConnectionStrings[“NcuhomeORGConnectionString”]。

浙公网安备 33010602011771号