gpt4 book ai didi

c# - MySQL 6 与 Enterprise Library Data 5 的连接

转载 作者:太空宇宙 更新时间:2023-11-03 14:15:52 27 4
gpt4 key购买 nike

构建一个简单的 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 并没有说太多关于那个属性,它说的是什么我似乎无法与我正在做的事情联系起来......任何帮助将不胜感激。

谢谢!

最佳答案

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

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

关于c# - MySQL 6 与 Enterprise Library Data 5 的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6600741/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com