2011-01-25 149 views
4

我正在使用企業庫進行數據訪問。 當我運行的應用程序,在的CreateDatabase()語句我得到這個異常:企業庫4數據配置標籤

Microsoft.Practices.ObjectBuilder2.BuildFailedException 是未處理由用戶代碼 消息=「當前構建操作 (建重點打造 鍵[Microsoft.Practices.EnterpriseLibrary.Data.Database, 空])失敗: 值不能爲空或空字符串 (戰略型Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.ConfiguredObjectStrategy。 , index 2)「 Source =」Microsoft.Pr actices.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"/> 

回答

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"/> 

您也可以使用企業庫配置工具爲您完成此操作。