【问题标题】:MySQL 6 connection with Enterprise Library Data 5MySQL 6 与 Enterprise Library Data 5 的连接
【发布时间】:2011-09-29 20:29:47
【问题描述】:

构建一个简单的 asp.net web 应用程序只是为了测试(显然会在为生产站点构建任何东西之前进行重构),我正在尝试使用最新版本的企业库连接到 mysql 数据库,我遇到了一个错误: “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 没有说太多关于该属性的内容,而且它所说的我似乎与我正在做的事情无关...任何帮助将不胜感激。

谢谢!

【问题讨论】:

    标签: c# asp.net enterprise-library-5 mysql6


    【解决方案1】:

    EntLib 不支持开箱即用的 MySql。 EntLibContrib 有一个正确的MySql Data Provider。然而,发布的版本针对的是 EntLib4.1。我可以看到 v5.0 的移植工作是 under way,但数据访问块似乎还没有完成。您可能需要自己移植。

    您使用的工厂似乎没有启用 EntLib。您可以在 Enterprise Library Extensibility Hands-on Labs 中找到对 ConfigurationElementTypeAttribute 的良好处理以及有关如何扩展 EntLib 的其他指南。

    【讨论】:

    • 谢谢,我确实尝试了这个端口,但它带来的问题比解决的问题还多,但我没有时间去实验室,所以当我这样做时,可能会有所帮助。跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多