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

相关推荐
m0_748236584 分钟前
《Web 应用项目开发:从构思到上线的全过程》
服务器·前端·数据库
苏三说技术6 分钟前
Redis 性能优化的18招
数据库·redis·性能优化
Tttian62230 分钟前
基于Pycharm与数据库的新闻管理系统(2)Redis
数据库·redis·pycharm
做梦敲代码1 小时前
达梦数据库-读写分离集群部署
数据库·达梦数据库
小蜗牛慢慢爬行2 小时前
如何在 Spring Boot 微服务中设置和管理多个数据库
java·数据库·spring boot·后端·微服务·架构·hibernate
hanbarger2 小时前
nosql,Redis,minio,elasticsearch
数据库·redis·nosql
微服务 spring cloud2 小时前
配置PostgreSQL用于集成测试的步骤
数据库·postgresql·集成测试
先睡2 小时前
MySQL的架构设计和设计模式
数据库·mysql·设计模式
弗罗里达老大爷2 小时前
Redis
数据库·redis·缓存