【问题标题】:DbProviderFactory failedDbProviderFactory 失败
【发布时间】:2013-10-16 21:53:04
【问题描述】:
在我的 PC 上安装了 C#、Framework 4.5 和 MySql 连接器
如果我尝试过
using MySql.Data.MySqlClient;
...
MySqlConnection tst = new MySqlConnection();
一切正常,但现在
DbProviderFactory 工厂 =
DbProviderFactories.GetFactory("MySql.Data.MySqlClient");
引发错误:
找不到请求的 .Net Framework 数据提供程序。它可能没有安装。
不明白!?
【问题讨论】:
标签:
c#
mysql
ado.net
database-connection
【解决方案1】:
你的配置文件有条目吗
<system.data>
<DbProviderFactories >
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.6.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
【解决方案2】:
是的,事实上如果我在 .config 中添加 DbProvider,现在我得到:
Failed to find or load the registered .Net Framework Data Provider.
哇,组装地狱?? ;)
【解决方案3】:
我在使用 DbFactory for Firebird 连接时遇到了同样的问题。问题是,将 DbProviderFactories 部分添加到配置文件是不够的,但您还必须将适当的 NuGet 包添加到您修改该配置的项目中。