连接MySQL数据库得到错误“Unable to find the requested .Net Framework Data Provider”

 

Registering DbProviderFactories

Each .NET Framework data provider that supports a factory-based class registers configuration information in the DbProviderFactories section of the machine.config file on the local computer. The following configuration file fragment shows the syntax and format for System.Data.SqlClient.

<system.data>
  <DbProviderFactories>
    <add name="SqlClient Data Provider"
     invariant="System.Data.SqlClient"
     description=".Net Framework Data Provider for SqlServer"
     type="System.Data.SqlClient.SqlClientFactory, System.Data,
     Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
    />
  </DbProviderFactories>
</system.data>

The invariant attribute identifies the underlying data provider. This three-part naming syntax is also used when creating a new factory and for identifying the provider in an application configuration file so that the provider name, along with its associated connection string, can be retrieved at run time.

 

我下载MySQL连接器/净6.7.4Visual Studio 1.0.2 MySQL随后,然后这些指令测试:

  1. 创建一个连接到现有的MySQL数据库。
  2. 创建一个控制台应用程序。
  3. 添加麻烦。网络实体数据模型从现有数据库连接。
  4. 添加代码生成项EF 5。x DbContext发生器,取代了。tt文件。
  5. 编写一些代码,从数据库中检索记录。

运行应用程序时,我得到了这个异常:

ConfigurationErrorsException:没有找到或加载注册。净框架数据提供商。

然后我添加引用MySql.DataMySql.Data.Entity6.7.4.0我库版本。NET 4.5项目。现在,当运行应用程序时,我得到一个不同的异常:

FileLoadException:无法加载文件或组装的MySql。数据、Version = 6.6.5.0 c5687fc88969c44d文化=中立,不能删除!请教如何解决这个问题”或它的一个依赖项。位于议会的清单定义不匹配装配参考。(从HRESULT例外:0 x80131040)

注意版本号,这不是MySQL连接器,我已经安装的版本。

我如何得到它正常工作?

 

诀窍解决这是:

  1. 添加引用MySql.DataMySql.Data.Entity库(6.7.4.0正确的版本。NET 4.5,在我的例子中)这一项目。
  2. 编辑machine.config与你的编辑器以管理员身份运行,和替换出现的所有MySQL版本6.6.5.0通过6.7.4.0 .

第二步,注意,有多个machine.config文件,一个用于每个框架版本(3.0,3.5,4.0)和结构(32位,64位)。还要注意的是machine.config文件。NET 4.5的。NET 4.0文件夹。你可以找到的machine.config文件:

C:\Windows\ Microsoft.NET \ Framework \ \配置

和:

C:\Windows\ Microsoft.NET \ Framework64 \ \配置

如果没有对MySQL的引用machine.config文件,您可能没有安装MySQL为Visual Studio。这样做,或添加以下的app.config您的项目的文件:

<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.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
</system.data>
时间: 2024-10-27 06:26:47

连接MySQL数据库得到错误“Unable to find the requested .Net Framework Data Provider”的相关文章

[SSMS][Visual Studio] 解決 - Unable to find the requested .Net Framework Data Provider. It may not be installed

問題狀況 @VS2013 開啟 SSDT 連資料庫時,跳出了以下訊息 @SSMS 編輯 Table 時出現例外,如下圖: 詳細訊息如下: =================================== Exception has been thrown by the target of an invocation. (SQLEditors) ------------------------------ Program Location: at System.RuntimeTypeHand

SQL SERVER 遇到Unable to find the requested .Net Framework Data Provider. It may not be installed. (System.Data)

今天新装的SQLSERVER 2012 EXPRESS 用于客户端程序 安装完成后打开登陆SQLSERVER 一切正常 当查看表定义.视图结构时,弹出一下内容 Unable to find the requested .Net Framework Data Provider.  It may not be installed. (System.Data) 初步判定是 .net Framework版本问题 升级.net Framework 4.0 提示系统已经使用当前或更新版本 下载.net Fr

连接MySQL数据库出现错误:Access denied for user &#39;root&#39;@&#39;localhost&#39; (using password:YES)

自己在重拾MySQL数据库的时候,第一次连接数据库时候出现Access denied for user 'root'@'localhost' (using password:YES)的错误.查了相关资料,发现是root帐户默认不开放远程访问权限,所以需要修改一下相关权限.可以执行如下的解决方法. 打开MySQL目录下的my.ini文件,在文件的最后添加一行"skip-grant-tables",保存并关闭文件. 重启MySQL服务. 通过命令行进入MySQL的BIN目录,输入"

Navicat for mysql 远程连接 mySql数据库10061错误问题

测试连接情况: 如果没有给远程登录用户添加所有机器都能访问的权限,将会出现“1045-Access denied for user ‘[email protected](using password:NO)”,这表明需要添加权限: 添加命令如下: 1 grant all on *.* to 用户名@"%" identified by "密码"; 2 flush privileges; 完成以上步骤,就可以远程访问MySQL数据库了.

错误:找不到请求的 .Net Framework Data Provider。可能没有安装.

一.错误描述 今天在帮同事Debug的时候遇到这个问题,错误信息提示到是Data Provider的问题,首先我们看下环境. 数据库版本:Oracle 11.2.0.4.0 64位 数据库服务器:linux 应用服务器:32位windows IIS:IIS7 .NetFramework:4.0 猜测到是没有安装.Net Framework的版本对应的Data Provider,查看web.config下面的节点: <system.data> <DbProviderFactories>

Asp.net Core 2.0连接mysql数据库一系列错误问题

mysql:最新版 一定是最新版,不然各种报错 Install-Package Pomelo.EntityFrameworkCore.MySql 2.0.0-rtm-10057 02 03 第四部 最后

Navicat for mysql 远程连接 mySql数据库10061、1045错误问题 (转)

远程使用Navicat for mysql 客户端软件连接 mySql数据时,连接出现 2003-Can’t connect to MySQL on ’192.168.1.2’(10061)错误时,是由于MySQL不准许远程连接. 修改方法如下: 1:在服务端MySQL文件夹下找到my.ini文件.修改bind-address=127.0.0.1 为 bind-address=0.0.0.0 (在MySQL 5的my.ini中未发现此项) 2:重新启动MySQL服务. 测试连接情况: 如果没有给

在Linux下php连接mysql数据库遇到2002错误

用thinkphp连接mysql数据库的时候出现了这样一个错误: SQLSTATE[HY000] [2002] No such file or directory 这是因为在 php.ini 配置文件中未指定mysql.sock(或mysqld.sock)文件路径导致的PDO无法连接数据库 在 php.ini 文件中配置以下三项 mysql.default_socket = /tmp/mysql.sockpdo_mysql.default_socket= /tmp/mysql.sockmysql

Navicat for mysql 远程连接 mySql数据库10061、1045错误

用navicat连接远程的mysql数据报错: 有朋友可能会碰到使用Navicat for mysql 远程连接 mySql数据库会提示10061.1045错误或 2003-Can't connect to MySQL on '192.168.1.2'(10061),这个原因是因为MySQL不准许远程连接. 最简单的办法是 MySQL远程配置 代码如下 复制代码 GRANT ALL PRIVILEGES ON *.* TO [email protected]'%' IDENTIFIED BY '