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

相关推荐
l1t2 小时前
DeepSeek总结的 pg_regresql插件:真正可移植的 PostgreSQL 统计信息
数据库·postgresql
oradh2 小时前
Oracle 11.2.0.1版本升级至11.2.0.4_单机环境
数据库·oracle·oracle11g·oracle升级
l1t2 小时前
用docker安装测试crate数据库
数据库·docker·容器·cratedb
anzhxu2 小时前
QT数据库(三):QSqlQuery使用
数据库·qt·oracle
身如柳絮随风扬2 小时前
MySQL核心知识
数据库·mysql
德彪稳坐倒骑驴2 小时前
Oracle 11g安装
数据库·oracle
韩立学长2 小时前
Springboot校园跑腿业务系统0b7amk02(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
阿贵---2 小时前
使用XGBoost赢得Kaggle比赛
jvm·数据库·python
想七想八不如114083 小时前
数据库--样题复习
数据库·sql·oracle
551只玄猫3 小时前
【数据库原理 实验报告1】创建和管理数据库
数据库·sql·学习·mysql·课程设计·实验报告·数据库原理