解决.Net连接MySQL数据库时报utf8mb3不被支持的异常

生成环境的一个项目出现了异常,查看日志提示:

System.NotSupportedException: Character set 'utf8mb3' is not supported by .Net Framework.

但非常奇怪的是,数据库和表都没有改过,而且使用的是 utf8mb4 编码。先搜索引擎找一下有没有相同的问题,遗憾的是,大部分都是修改表字符集,也就是修改字符集和排序为utf8mb4。显然不对,回头看代码,定位到报错的SQL,里面用到了两个内置函数SQL_CALC_FOUND_ROWSFOUND_ROWS,把这两个函数删掉就恢复正常。但开发环境也使用的是这两个函数,没有任何问题呀。一时间有点懵,到底是哪出了问题。冷静下来后进行问题的分析,在开发环境没有问题,到了生成环境出现问题,要么是程序的环境出了问题,要么是数据库环境出了问题。赶紧去检查一下,开发环境使用的是MySQL 8.0.26,生成环境使用的是MySQL 8.0.29。尝试将MySql.Data升级到8.0.29后。问题解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

倾斜的水瓶座

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值