.net mysql 更新_升级 MySql.Data for NET 后遇到的神坑

今天把一个之前基于 http://ASP.NET MVC 5 + EntityFramework 5 的项目里的 Nuget 包都升级了一下,包括将 EF 从 6.1.3 升级到 6.2.0,将 MySql.Data (用于 EF 连接 MySQL 数据库)从 6.9.9 升级到 8.0.12,MySql.Data.Entity 从 6.9.9 升级到 6.10.8,结果一运行就在连接数据库的代码上出现了错误,具体错误为:MethodAccessException: 方法“MySql.Data.MySqlClient.MySqlProviderServices.GetDbProviderManifestToken(System.Data.Common.DbConnection)”尝试访问方法“MySql.Data.MySqlClient.MySqlConnection.get_Settings()”失败。

折腾了半天(过程略去),终于在 StackOverflow 上找到了问题的原因:

原因就是:Oracle 在升级了 MySql.Data 到 8.x 版之后,并没有直接将原先配套使用的 MySql.Data.Entity 同样升级到 8.x,而是改名为了 MySql.Data.EntityFramework,所以需要在 Nuget 中先卸载原来的 MySql.Data.Entity,然后安装 MySql.Data.EntityFramework。除此之外,还需要在 Web.config 文件中做一些小改动,需要将下图中红色矩形标注的部分

改为蓝色矩形标注的部分(就是修改命名空间与版本号)

修改好之后,程序再次报错,错误为:The host xx.xx.xx.xx does not support SSL connections.

此时需要在 Web.config 的 connectionstring 设置中加上 sslmode=none。

升级 MySql.Data 相关包后的所有工作到此结束,程序又可以正常执行了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mysql.data.dll 6.4.4 for .net2.0 是 MySQL 数据库提供的一个用于 .NET Framework 2.0 的 Managed Provider。这个 DLL 文件包含了一些用于在 .NET Framework 应用程序中访问和操作 MySQL 数据库的类和方法。它可以让开发人员利用 .NET 平台的优势来编写强大和可靠的应用程序,同时与 MySQL 数据库进行交互。 mysql.data.dll 6.4.4 版本是较旧的一个版本,支持 .NET Framework 2.0。它适用于那些仍在使用较旧版本的 .NET Framework 的应用程序开发者。这个 DLL 文件可以通过在应用程序中引用它来使用,然后使用其中的类和方法来连接到 MySQL 数据库、执行查询、插入、更新或删除数据等操作。 通过使用 mysql.data.dll,开发人员可以轻松地在 .NET 应用程序中实现与 MySQL 数据库的通信和交互。他们可以使用像 MySqlCommand、MySqlConnection 这样的类来连接到数据库,使用 MySqlCommand 对象来执行 SQL 查询,并通过 MySqlDataReader 对象读取查询结果。开发人员还可以使用 MySqlCommand 对象来执行插入、更新或删除数据的操作。 mysql.data.dll 还提供了其他一些实用的功能,比如事务支持、连接池管理等,以帮助开发人员更好地操作 MySQL 数据库。 总而言之,mysql.data.dll 6.4.4 for .net2.0 是 MySQL 数据库提供的一个用于连接和操作 MySQL 数据库的 .NET Framework 2.0 版本的 DLL 文件。通过使用这个 DLL 文件,开发人员可以方便地在 .NET 应用程序中实现与 MySQL 数据库的交互,并进行各种数据库操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值