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

MariaDB升级后Power BI刷新报错求助

MariaDB 10.11.4升级后Power BI刷新报错解决方案

核心问题分析

升级MariaDB至10.11.4后,Power BI通过MySQL Connector NET连接时,因数据库元数据/数据类型兼容性变化,触发DBNull转换失败与字典键缺失的循环报错,与Connector NET版本升级无直接关联。

分步解决措施

1. 修复Power BI模型的空值处理逻辑

  • 检查所有数据集字段,确认数据库中允许为NULL的字段,在Power BI模型中未被设置为非空数据类型(如数据库INT NULL对应Power BI模型的“整数”类型)。
  • 在Power Query编辑器中,对存在空值风险的字段添加空值替换逻辑:
    Table.ReplaceValue(源, null, 0, Replacer.ReplaceValue, {"目标字段名1", "目标字段名2"})
    
  • 排查计算列、度量值,确保未直接引用未处理空值的字段。

2. 校验MariaDB表结构变化

  • 对比升级前后的表结构,重点排查字段的NULL属性、数据类型是否发生隐性调整(如TEXT字段存储格式、DATE类型精度变化)。执行命令查看表结构:
    DESCRIBE `目标表名`;
    
  • 确认是否存在新增的系统字段或索引,导致Power BI查询返回未预期的列,引发字典键缺失问题。

3. 调整连接参数与驱动

  • 在Power BI的MariaDB连接设置中,添加以下高级参数,强制兼容旧版本行为:
    • Allow User Variables=True
    • Old Guids=True
    • Treat Tiny As Boolean=False
  • 尝试替换为MariaDB官方ODBC驱动(匹配10.11.4版本),重新配置数据源后测试刷新。

4. 清除Power BI缓存与重建模型

  • 在Power BI Desktop中,进入文件>选项和设置>数据源设置,清除对应MariaDB数据源的缓存数据。
  • 放弃增量刷新,重新全量导入数据并重建数据集模型,避免旧模型元数据与新数据库不兼容。
  • 若使用Power BI服务,重新发布数据集并手动触发刷新,清除云端缓存。

5. 调整MariaDB兼容性设置

  • 查看当前SQL_MODE配置:
    SELECT @@SQL_MODE;
    
  • 若包含严格模式参数(如STRICT_TRANS_TABLES),临时调整为兼容模式测试:
    SET GLOBAL SQL_MODE = 'NO_ENGINE_SUBSTITUTION';
    
    测试正常后,再根据业务需求调整合适的SQL_MODE,避免影响网店业务逻辑。

已解决问题备注

2024年4月11日出现的[ma-3.1.20]无法连接到服务器报错,已通过添加IP白名单解决,与当前刷新报错无关联。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 17:00:11