我正在使用Enterprise库进行数据访问。 当我运行应用程序时,在CreateDatabase()语句中,我收到此异常:
Microsoft.Practices.ObjectBuilder2.BuildFailedException 用户代码未处理 Message =“当前的构建操作 (构建密钥构建 键[Microsoft.Practices.EnterpriseLibrary.Data.Database, null])失败: 该值不能为null或空字符串。 (策略类型Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.ConfiguredObjectStrategy, 指数2)“ 源= “Microsoft.Practices.ObjectBuilder2”
现在,我用Google搜索了一下,发现我必须放置
<dataConfiguration defaultDatabase="LocalSqlServer"/>
但我不知道在哪里。这是正确的解决方案吗?
另外,在安装企业库时我没有看到任何连接字符串语句?所以,我想知道如何从web.config文件中获取连接字符串。
在我的web.config文件的连接字符串部分中,我有:
<remove name="LocalSqlServer"/>
<add name="LocalSqlServer" connectionString="Data Source=MSTR;Initial Catalog=USERDb;Integrated Security=true;" providerName="System.Data.SqlClient"/>
答案 0 :(得分:6)
是的,您需要将dataConfiguration
部分添加到web.config。
首先,您需要将dataConfiguration添加到web.config中的ConfigurationSections列表中:
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</configSections>
然后你需要将你的连接字符串添加到web.config(你已经这样做了):
<connectionStrings>
<add name="LocalSqlServer" connectionString="Data Source=MSTR;Initial Catalog=USERDb;Integrated Security=true;" providerName="System.Data.SqlClient"/>
</connectionStrings>
然后,您需要将实际的dataConfiguration部分添加到web.config:
<dataConfiguration defaultDatabase="LocalSqlServer"/>
您也可以使用企业库配置工具为您执行此操作。