错误记录-MariaDB连接异常
简介:
问题:
C#,VS2022,mariadb-10.11.5-winx64,using MySql.Data.MySqlClient;
在执行connection.Open()时抛出异常:System.InvalidCastException:“Object cannot be cast from DBNull to other types.”
By MaQaQ 2023-11-22
分析:
原因:
MySql.Data 加载排序规则的方法假定“id"列的值不为空,而从 10.10 版本开始,MariaDB 将“id”列切换为"Allow Null",并且在 Colations 中有很多行带有 NULL id, 这会导致“Object cannot be cast from DBNull to other types.”异常。
解决方案:
1、回滚MariaDB版本到10.9
MariaDB Server下载地址:https://mariadb.org/mariadb/all-releases/
找到版本10.9.8:
镜像源选择阿里云,点击Download:
在控制面板中将之前的MariaDB卸载,然后安装10.9.8版本即可,卸载前可以用HeidiSQL将原来的数据库导出成sql脚本,然后重装后再执行sql导入。
2、将MySql.Data.MySqlClient换成MysqlConnector
直接在NuGet中搜索即可:
总结:
1、回滚MariaDB版本到10.9或之前
2、换成MysqlConnector
本文来自博客园,作者:MaQaQ,转载请注明原文链接:https://www.cnblogs.com/magicMaQaQ/p/17848084.html
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?