当前位置: 首页 > news >正文

解决MySQL大版本升级导致.Net(C#)程序连接报错问题

数据库版本从MySQL 5.7.21 升级到 MySQL8.0.21

数据升级完成后,直接修改程序的数据库连接配置信息

  <connectionStrings>
    <add name="myConnectionString" connectionString="server=192.168.31.200;uid=app;pwd=FgTDkn0q!75;database=mail;" />
  </connectionStrings>

出现下面错误信息:

Authentication method 'caching_sha2_password' not supported by any of the available plugins.

原因是MySQL8的登陆加密规则与MySQL 5.7的不一样,导致用户验证方法通过,所以有上面异常。

这里可以通过修改mysql配置文件,添加下列参数也能解决问题。

default_authentication_plugin=mysql_native_password

但是我们仍然想通过修改程序来彻底解决问题,所以就有了下面的步骤。直接去MySQL官网下载connector for NET的安装包,安装完成后,从安装目录复制MySql.data.dll文件。

如果我们直接使用新的dll文件直接替换覆盖当前运行程序的dll,再次运行会出现下面的报错信息:

Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly 'MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

这里意思是我们需要在Visual Studio里面移除原来的引用,重新引用新的dll文件,重新在进行编译,使用编译后新的程序运行。

如果重新引用后重新编译构建代码出现下面的错误信息:

The type or namespace name "' does not exist in the namespace "' (are you missing an assembly reference?)

这个是目标框架的版本问题,请在选择项目,右键属性,将目标框架从.NET FrameWork4.5改成.NET FrameWork4.7.2,保存后重新编译编译构建就行了。

MySql.Data.dll文件说明

MySql.Data.dll 8.0 是 MySQL 数据库的官方 ADO.NET 驱动程序库文件,它是用于与 MySQL 数据库进行连接、查询和操作的重要组件。不同版本的 MySql.Data.dll 可能对应不同的 .NET Framework 版本,因此我们需要使用正确的版本来确保代码的兼容性和稳定性。

下面是 MySql.Data.dll 8.0 的一些常见版本及其对应的 .NET Framework 版本:

MySql.Data.dll 8.0.11:对应 .NET Framework 4.5
MySql.Data.dll 8.0.17:对应 .NET Framework 4.5.2
MySql.Data.dll 8.0.20:对应 .NET Framework 4.6.1
MySql.Data.dll 8.0.25:对应 .NET Framework 4.7.2

http://www.lryc.cn/news/213386.html

相关文章:

  • Java 将对象List转为csv文件并上传远程文件服务器实现方案
  • 分享8个分布式Kafka的使用场景
  • 【再见了暗恋对象 朋友们看完之后的一些感悟】
  • JSON和Protobuf序列化
  • lambda表达式 - c++11
  • 509. 斐波那契数
  • 四、[mysql]索引优化-1
  • PyTorch入门学习(九):神经网络-最大池化使用
  • 0基础学习PyFlink——用户自定义函数之UDF
  • 英语小作文模板(06求助+描述;07描述+建议)
  • 为什么感觉假期有时候比上班还累?
  • 推理还是背诵?通过反事实任务探索语言模型的能力和局限性
  • 《利息理论》指导 TCP 拥塞控制
  • Bsdiff,Bspatch 的差分增量升级(基于Win和Linux)
  • 【3妹教我学历史-秦朝史】2 秦穆公-韩原之战
  • 车载控制器
  • 回归预测 | Matlab实现RIME-CNN-SVM霜冰优化算法优化卷积神经网络-支持向量机的多变量回归预测
  • 使用Jaeger进行分布式跟踪:学习如何在服务网格中使用Jaeger来监控和分析请求的跟踪信息
  • 添加多个单元对象
  • 十八、模型构建器(ModelBuilder)快速提取城市建成区——批量掩膜提取夜光数据、夜光数据转面、面数据融合、要素转Excel(基于参考比较法)
  • HarmonyOS开发:基于http开源一个网络请求库
  • 【杂记】Ubuntu20.04装系统,安装CUDA等
  • 040-第三代软件开发-全新波形抓取算法
  • 分享一个基于asp.net的供销社农产品商品销售系统的设计与实现(源码调试 lw开题报告ppt)
  • Java基于SpringBoot的线上考试系统
  • flask socketio 实时传值至html上【需补充实例】
  • C# Onnx P2PNet 人群检测和计数
  • idea提交代码一直提示 log into gitee
  • ATECLOUD如何进行电源模块各项性能指标的测试?
  • Mysql查询训练——50道题