Zer*_*ity 4 asp.net enterprise-library asp.net-3.5
我正在使用Enterprise库进行数据访问.当我运行应用程序时,在CreateDatabase()语句中,我收到此异常:
用户代码未处理Microsoft.Practices.ObjectBuilder2.BuildFailedException消息="当前构建操作(构建密钥构建密钥[Microsoft.Practices.EnterpriseLibrary.Data.Database,null])失败:值不能为null或为空字符串.(策略类型Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.ConfiguredObjectStrategy,index 2)"Source ="Microsoft.Practices.ObjectBuilder2"
现在,我google了一下,发现我必须放置
<dataConfiguration defaultDatabase="LocalSqlServer"/>
Run Code Online (Sandbox Code Playgroud)
但我不知道在哪里.这是正确的解决方案吗?
另外,在安装企业库时我没有看到任何连接字符串声明?所以,我想知道如何从web.config文件中获取连接字符串.
在我的web.config文件的连接字符串部分中,我有:
<remove name="LocalSqlServer"/>
<add name="LocalSqlServer" connectionString="Data Source=MSTR;Initial Catalog=USERDb;Integrated Security=true;" providerName="System.Data.SqlClient"/>
Run Code Online (Sandbox Code Playgroud)
是的,您需要将该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>
Run Code Online (Sandbox Code Playgroud)
然后你需要将你的连接字符串添加到web.config(你已经这样做了):
<connectionStrings>
<add name="LocalSqlServer" connectionString="Data Source=MSTR;Initial Catalog=USERDb;Integrated Security=true;" providerName="System.Data.SqlClient"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
然后,您需要将实际的dataConfiguration部分添加到web.config:
<dataConfiguration defaultDatabase="LocalSqlServer"/>
Run Code Online (Sandbox Code Playgroud)
您也可以使用企业库配置工具为您执行此操作.
| 归档时间: |
|
| 查看次数: |
7809 次 |
| 最近记录: |