错误记录-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

相关推荐
ShiXZ2135 分钟前
指令集-SQL 常用指令速查手册
数据库·sql·mysql·oracle
阿昭L30 分钟前
数据库期末复习(三)
数据库
Dlrb121142 分钟前
信息查询Web服务器-->电子商城信息查询项目
linux·服务器·数据库·html·嵌入式·epoll·数据查询
不会写DN1 小时前
MySQL 并发插入竞态问题:原子写入实践指南
数据库·mysql
霖霖总总1 小时前
[MongoDB小技巧24]MongoDB $lookup 聚合阶段深度解析:从入门到实战
数据库·mongodb
挨踢诗人1 小时前
京东企业购 × 企业微信 采购闭环集成解决方案
前端·数据库·企业微信
梦想的旅途21 小时前
企业微信外部群智能自动回复:基于RPA接口的关键词匹配方案
java·开发语言·数据库·机器人·自动化·企业微信
得物技术1 小时前
得物 OceanBase 落地实践
数据库·分布式·架构
程序员cxuan1 小时前
OceanBase 为什么要做 AI 数据库?
数据库·人工智能·大模型·llm·oceanbase
Alan_752 小时前
GraphQL 深度解析:为什么它能替代传统 REST API
数据库·后端