潇洒万事通 发表于 2023-11-22 16:11:50

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

来源:https://www.cnblogs.com/magicMaQaQ/p/17848084.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 错误记录-MariaDB连接异常