搜索谷歌并使用企业库数据访问来连接数据库。
使用https://www.nuget.org/packages/EnterpriseLibrary.Data/仅安装数据访问包。
添加到项目后,我已将配置设置如下,
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" />
</configSections>
<dataConfiguration defaultDatabase="dProvider" />
<connectionStrings>
<add name="dProvider" connectionString="server=local;Initial Catalog=n;uid=sa;pwd=pwd"
providerName="System.Data.SqlClient" />
</connectionStrings>
通过以下应用程序调用,
Database db;
string sqlCommand;
DbCommand dbCommand;
db = DatabaseFactory.CreateDatabase("dProvider"); or DatabaseFactory.CreateDatabase();
运行应用程序后,我得到以下异常,
{"Database provider factory not set for the static DatabaseFactory. Set a provider factory invoking the DatabaseFactory.SetProviderFactory method or by specifying custom mappings by calling the DatabaseFactory.SetDatabases method."}
我犯了什么错误?如何解决这个问题?
答案 0 :(得分:19)
我已经使用过版本6,但是在这里我提到了配置部分中的版本5。所以错误已经发生。
我已经更换了配置部分,如下所示,它完美地运行良好。 :-)。非常感谢帮助者。
<configSections>
<section name="dataConfiguration"
type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings,
Microsoft.Practices.EnterpriseLibrary.Data"/>
</configSections>
并使用DataBaseProviderFactory类创建实例。
DatabaseProviderFactory factory = new DatabaseProviderFactory();
db = factory.Create("dProvider");