构建一个简单的mysql应用程序只是为了进行测试(很明显,在为生产站点构建任何东西之前都会进行重构),我正在尝试使用最新版本的Enterprise Library连接到asp.net数据库,但遇到了错误:“MySqlClientFactory类型不包含ConfigurationElementTypeAttribute。”
我已经尝试了几种不同的形式来尝试设置配置,并根据我找到的一切,将其提炼为:在我的web.config中,我得到了以下内容:
<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="true" />
</configSections>
<dataConfiguration defaultDatabase="MyDB">
<providerMappings>
<add name="MySql.Data.MySqlClient" databaseType="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data,Version=6.3.6,Culture=neutral,PublicKeyToken=c5687fc88969c44d"/>
</providerMappings>
</dataConfiguration>
<connectionStrings>
<add name="MyDB" connectionString="Server=localhost;Database=MyDB;Uid=root;Pwd=****;"
providerName="MySql.Data.MySqlClient"/>
</connectionStrings>在我的default.aspx页面上,我看到了这样的信息:
protected void Page_Load(object sender, EventArgs e)
{
string sql = "select * from users";
Database db = EnterpriseLibraryContainer.Current.GetInstance<Database>("MyDB");
var reader = db.ExecuteReader(CommandType.Text, sql);
while (reader.NextResult())
{
Response.Write(reader["userName"] + "<br />");
}
}所以,很简单...但同样,我得到的错误是:“MySqlClientFactory类型不包含ConfigurationElementTypeAttribute。”
我找不到任何与此相关的东西...MSDN并没有说太多关于这个属性的内容,而且它所说的我似乎无法与我正在做的事情联系起来……任何帮助都将不胜感激。
谢谢!
发布于 2011-08-15 22:47:42
EntLib不支持开箱即用的MySql。EntLibContrib有一个合适的MySql Data Provider。然而,发布的版本针对的是EntLib4.1。我可以看到到v5.0的移植工作是under way,但是数据访问块似乎还没有完成。您可能需要移植您自己的端口。
您正在使用的工厂似乎未启用EntLib。您可以找到对ConfigurationElementTypeAttribute的很好的处理,以及关于如何在Enterprise Library Extensibility Hands-on Labs中扩展EntLib的其他指导。
https://stackoverflow.com/questions/6600741
复制相似问题