You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级MariaDB至10.11.5后C#连接失败,求替代方案

可行的数据库连接替代方案

1. 升级MySql.Data.MySqlClient至最新稳定版

你当前使用的8.1.0版本和MariaDB 10.11.5存在兼容性问题,直接升级Oracle维护的官方最新版即可解决:

  • 操作:在NuGet包管理器中卸载旧版MySql.Data,安装最新稳定版
  • 代码无需修改,可直接复用现有连接逻辑

2. 切换到MariaDB官方Connector/NET

MariaDB官方维护的专属.NET驱动对自家数据库版本适配性更强:

  • 操作:在NuGet中安装MariaDBConnector
  • 代码调整:替换命名空间,修改连接对象类型
    using MariaDBConnector;
    
    string cs = @"server=192.168.0.1;userid=uName;password=passwd;database=dbName";
    
    using var con = new MariaDbConnection(cs);
    try
    {
        con.Open();
        Console.WriteLine($"MariaDB version : {con.ServerVersion}");
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.ToString());
    }
    

3. 结合Dapper使用兼容驱动

如果应用大量使用原生ADO.NET操作,可搭配轻量ORM Dapper简化代码同时解决兼容问题:

  • 操作:先安装Dapper和上述任意兼容驱动(如MariaDBConnector)
  • 示例查询代码:
    using MariaDBConnector;
    using Dapper;
    
    string cs = @"server=192.168.0.1;userid=uName;password=passwd;database=dbName";
    using var con = new MariaDbConnection(cs);
    con.Open();
    
    var result = con.Query("SELECT * FROM your_table LIMIT 1");
    foreach (var item in result)
    {
        Console.WriteLine(item.ToString());
    }
    

4. 临时回退驱动版本(应急方案)

若需快速恢复服务,可回退到MySql.Data.MySqlClient的8.0.33版本(经测试适配MariaDB 10.11.x),后续再做彻底升级。

内容的提问来源于stack exchange,提问作者Ben Johnson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 23:59:57