C#使用mysql-connector-net驱动连接mariadb报错

给树莓派用最新的官方OS重刷了一下,并且用apt install mariadb-server装上“mysql”作为我的测试服务器。然后神奇的事情发生了,之前用得好好的程序突然就报错了,经过排查,发现在连接数据库的Open阶段就报错了。写了个最单纯的Console,只是定义了连接字符串,然后Open,也不做catch处理复现了一下,详细错误是:

 哦豁,难道mysql给.net的驱动有问题了?我用的是官网下载的mysql-connector-net-8.1.0-noinstall,4.6.2和4.8同样问题。同样的程序,连接到别的数据库还是正常的,估计就是新的mariadb不被支持了。

网上找了一圈,发现确实可能就是这个原因。因为mariadb虽然脱胎于mysql,但终将渐行渐远,官方mysql驱动只会保证支持自己的mysql。

根据论坛里某位网友的提示,直接在控制台登录进能连和不能连的数据库后,用show collation看到了区别:果然新装的mariadb上有一堆null,程序可正常运行的就没有。猜测驱动一旦连接上数据库后会获取这些信息,如果对空值未作处理的话就报错了。

解决办法倒也简单粗暴,放弃mysql官方驱动,改用MySqlConnector。NuGet Gallery | MySqlConnector 2.2.7

我的程序比较老,当时用的framework做框架,所以切到当前工程下打开包管理器控制台,输入 NuGet\Install-Package MySqlConnector -Version 2.2.7安装。

代码修改也很简单,把之前的using MySql.Data.MySqlClient 直接替换成using MySqlConnector,其余部分几乎可以零修改。

参考资料:
MySQL Bugs: #109331: MySQL Connector fails to connect to MariaDB 10.10.2

https://mysqlconnector.net/overview/installing/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/119257.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

xcode Simulator 手动安装

xcode Simulator 手动安装 参考文档 xcode又又又升级了,升级完成之后不下载最新的 iOS 17 Simulator就不能编译运行了,只能静静的等他下载。但是离谱的是这个居然没有断点续下,每次都要重新下载,眼睁睁的看着下载了4个G然后断掉…

数字取证对有效企业事件响应的重要性

数字取证对有效企业事件响应的重要性 事件响应功能的现代化已成为企业安全的关键焦点,数字取证调查的支持是事件响应的重要组成部分,并就如何优化交互提供了指导,尤其是在CISO 领导的团队选择商业平台和工具的情况下。 企业事件响应简介 现代…

持续集成部署-k8s-服务发现-Service:Service、Endpoint、Pod之间的关系与原理

服务发现-Service:Service、Endpoint、Pod之间的关系与原理 1. 关系简介2. 网络访问1. 关系简介 在 Kubernetes 中,Service 是一种抽象的逻辑概念,用于将一组具有相同功能的 Pod 组合成一个逻辑服务。Service 提供了一种稳定的 IP 地址和 DNS 域名,供客户端访问这个逻辑服…

Redis缓存(缓存预热,缓存穿透,缓存雪崩,缓存击穿)

目录 一, 缓存 1, 什么是缓存 2, 什么是热点数据(热词) 3, 缓存更新策略 3.1 定期生成 3.2 实时生成 二, Redis缓存可能出现的问题 1, 缓存预热 1.1 什么是缓存预热 1.2 缓存预热的过程 2, 缓存穿透 2.1 什么是缓存穿透 2.2 缓存穿透产生的原因 2.3 缓存穿透的解…

超市商品管理系统 毕业设计 JAVA+Vue+SpringBoot+MySQL

项目下载地址 目录 项目下载地址 一、摘要1.1 简介1.2 项目录屏 二、研究内容2.1 数据中心模块2.2 超市区域模块2.3 超市货架模块2.4 商品类型模块2.5 商品档案模块 三、系统设计3.1 用例图3.2 时序图3.3 类图3.4 E-R图 四、系统实现4.1 登录4.2 注册4.3 主页4.4 超市区域管理4…

【springcloud】Feign的性能优化和最佳实践

Feign的默认实现不支持连接池,换位Apache的HttpClient或者OKHttp连接池 引入依赖即可。 最佳实践 Feign的使用,一般抽取为单独的模块,引入依赖以及相关实体类,配置类等。在使用时引入接口依赖。 在引入依赖时,由于我…

基于MIMO+16QAM系统的VBLAST译码算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ........................................................................ for SNR_dBSNRS…

桉木红面模板批发915*1830mm规格建筑木胶板

我们很自豪地介绍我们的产品:桉木红面建筑模板。作为一家专业的建筑木胶板生产批发商,我们提供高质量的915*1830*15mm规格的桉木红面板,为您的建筑项目提供卓越的解决方案。 桉木红面板是由优质的桉木原料制成,经过精细的加工和处…

[Go版]算法通关村第十八关青铜——透析回溯的模版

目录 认识回溯思想回溯的代码框架从 N 叉树说起有的问题暴力搜索也不行回溯 递归 局部枚举 放下前任Go代码【LeetCode-77. 组合】回溯热身-再论二叉树的路径问题题目:二叉树的所有路径Go 代码 题目:路径总和 IIGo 代码 回溯是最重要的算法思想之一&am…

flinksql kafka到mysql累计指标练习

flinksql 累计指标练习 数据流向:kafka ->kafka ->mysql 模拟写数据到kafka topic:wxt中 import com.alibaba.fastjson.JSONObject; import org.apache.kafka.clients.producer.KafkaProducer; import org.apache.kafka.clients.producer.Produ…

2M大小的PDF文档上传到LangChain-ChatGLM知识图谱中,大致需要的时间

对于将2M大小的PDF文档上传到LangChain-ChatGLM知识图谱中,大致需要的时间如下: PDF到文本的提取转换:若PDF内容主要为文本,此步骤约需要1-2分钟。 提取的文本经过预处理与分析:此步骤需要对文本进行分词、命名实体识别等处理,约需要2-5分钟。 抽取文本中的结构化知识(实体、…

Web前端面试之Vue—对Vue的理解

目录 一、web发展历程 二、vue是什么 三、Vue核心特性 组件化 数据驱动 指令 四、Vue与Angular以及React的区别 一、web发展历程 Web是World Wide Web的简称,中文译为万维网 我们可以将它规划成如下的几个时代来进行理解 静态网页:最早的网页是没…

一台服务器最大能支持多少条 TCP 连接

文章目录 1. 一台服务器最大能打开的文件数1.1 限制参数1.2 调整服务器能打开的最大文件数示例 2. 一台服务器最大能支持多少连接3. 一台客户端机器最多能发起多少条连接4. 其他5. 相关实际问题5.1 "too many open files" 报错是怎么回事,该如何解决5.2 一…

新手入门?初登开发者舞台的你所适合的三大开发工具?

对新手开发者来说,工具的简洁性和实用性和自己的产出直接挂钩,一个好用的工具往往会让编译代码减少很多麻烦,有哪些比较适合的工具,几乎成了每个新人必定会问的问题之一。 针对这些疑惑,今天就来讲讲三大新手型开发工…

【Python】【logging】限制输出

Logging配置示例 Logging的文件输出和终端需要单独配置,终端的配置项也可以和文件配置的输出不同,推荐配置相同,避免输出上的差异 import logging import os from logging.handlers import RotatingFileHandlerlogger logging.getLogger()…

多张照片怎么打包发给别人?几个步骤轻松搞定!

在工作和生活中,我们常常需要发送多张照片,因为照片数量较多,打包可以减少发送时间,提高发送效率。那么如何操作呢?有什么好用的软件呢?下面向大家介绍三种常用的软件。 方法一:使用7-zip 1、在…

安卓离线点击第一条通知跳转正常,第二条失败或者通过URL Scheme唤起App指定页面第一次成功,第二次失败

1、服务端intent参数中设置为launchFlags0x04000000。 intent:#Intent;launchFlags0x04000000;packagecn.ddd.mShop.android;componentcn.ddd.mShop.android/com.sss.mshop.page.activity.PushAndLinkMessageProcessingActivity;S.gttask“123”;end 2、尝试更改intent中设定…

分布式ID系统设计(1)

分布式ID系统设计(1) 在分布式服务中,需要对data和message进行唯一标识。 比如订单、支付等。然后在数据库分库分表之后也需要一个唯一id来表示。 基于DB的自增就肯定不能满足了。这个时候能够生成一个Global的唯一ID的服务就很有必要我们姑且把它叫做id-server 。…

uni-app打包apk实现自动更新

一、直接复制粘贴就可用(豪横) app.vue文件里写 //app.vue里写 <script>export default {onShow: function() {console.log(App Show)},onHide: function() {console.log(App Hide)},onLaunch: function() {let appVersion uni.getSystemInfo({success: function(e) {ap…

python基础语法(九)

目录 新增元素查找元素删除元素连接列表关于元组 感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接 &#x1f412;&#x1f412;&#x1f412;个人主页 &#x1f978;&#x1f978;&#x1f978;C语言 &#x1f43f;️&#x1f43f;️&#x1f43f;️C语言例题 &…