当前位置: 首页 > 面试题库 >

MySQL连接器6.7.4和Entity Framework 5异常

龙欣德
2023-03-14
问题内容

我下载了MySQL Connector / Net
6.7.4
和MySQL for Visual
Studio
1.0.2
,然后按照以下说明进行了测试:

  1. 创建与现有MySQL数据库的连接。
  2. 创建一个控制台应用程序。
  3. 从现有数据库连接中添加 ADO.NET实体数据模型
  4. 添加代码生成项 EF 5.x DbContext Generator ,替换.tt文件。
  5. 编写一些代码以从数据库中检索记录。

运行该应用程序,我遇到了以下异常:

ConfigurationErrorsException :无法找到或加载已注册的.Net Framework数据提供程序。

然后,我在.NET
4.5项目中添加了对MySql.DataMySql.Data.Entity库版本6.7.4.0的引用。现在,当我运行应用程序时,我得到了另一个异常:

FileLoadException :无法加载文件或程序集’MySql.Data,版本=
6.6.5.0,区域性=中性,PublicKeyToken =
c5687fc88969c44d’或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自HRESULT的异常:0x80131040)

注意版本号,它不是我安装的MySQL Connector的版本。

我如何使其正常工作?


问题答案:

解决这个问题的技巧是:

  1. 将对正确版本(和.NET 4.5的6.7.4.0,以我为例)的MySql.DataMySql.Data.Entity库的引用添加到项目中。
  2. 编辑machine.config您的编辑器以管理员身份运行,并取代的MySQL版本所有出现6.6.5.06.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 \\ Config

和:

C:\ Windows \ Microsoft.NET \ Framework64 \\ Config

如果machine.config文件中没有对MySQL的引用,则可能未安装MySQL for 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>

但是请注意,当您同时安装上述代码段MySQL for Visual Studio 并将其 添加到app.config文件中时,将出现此异常:

ConfigurationErrorsException
:列’InvariantName’被限制为唯一。值’MySql.Data.MySqlClient’已经存在。



 类似资料:
  • 问题内容: 大家好,我的课程在上面 我是jdbc的新手 请帮助我,我遇到运行时错误, java.lang.ClassNotFoundException:com.mysql.jdbc.Driver 感谢您的任何建议 注意:我不知道如何将jar文件放入我的类路径并动态绑定它:S 问题答案: 您需要下载MySQL Connector / J 并将.jar文件添加到您的应用程序中 将jar文件添加到中(如

  • 我在尝试连接到数据库时遇到以下错误: java.sql.没有找到适合jdbc:mysql://localhost:3306/等的驱动程序。 MySQL连接器。jar位于WEB-INF/lib文件夹中 以下内容已添加到pom中。xml文件: 如有任何帮助/指导,将不胜感激。

  • 我在django数据库中使用了SQLite,我想在Synology NAS中使用一个MariaDb。 我在Python 3.9.0+和MariaDB 10.3.24上使用Django 3.2 我使用pip包mysql-connector-python==8.0.23作为mysql连接器。 当我想启动或迁移服务器时,出现以下错误: 我该怎么解决呢? 附注:我不使用mysqlclient,因为它不能在

  • 我只是想批量添加一些数据。 我首先连接,然后迭代字典项,创建每个查询来更新基于mysql的zip_ids表。以下是我如何做到这一点: 问题是,我一直得到一个异常抛出: 如何解决此异常?原因是什么?批量添加数据的代码是否正确?

  • 我面临一个问题,如果更改MySQL连接器Jar版本,我会遇到某些错误。我的代码在JBoss4.0.4.ga版上运行良好。然后我用连接器jar版本mysql-connector-java-5.1.36-bin将JBoss升级到Wildfly,并且没有对运行良好的代码做任何更改。现在,每当我添加一些新行,我就会得到一个错误,说生成的密钥没有被请求。 之前我认为这可能是因为服务器(JBoss)升级的问题

  • 最近我在使用JDBC,所有使用JDBC的代码都运行得很好。 过了一段时间,我又开始用JDBC来刷新所有的概念。问题是,当时我写新程序的时候,它给了我ClassNotFoundException。我的代码中的一切都很完美。我还添加了MySQL连接器的外部JAR文件。异常是ClassNotFoundException com . MySQL . JDBC . driver。 我尝试了不同的IDE来运行