MongoDB ODBC Connector无法拉取新字段到BI,CData报错如何解决?
问题描述
当前使用MongoDB ODBC Connector无法将新字段/列拉取到BI工具中,换用CData连接器时出现报错。除官方MongoDB ODBC Connector外,还有以下几款第三方连接器可选,但均无免费版本,需要付费才可使用:
- CData
- devart
- EasySoft
- Simba
- Dremio
目前CData MongoDB连接器出现报错,报错截图如下:
解决方案
一、官方MongoDB ODBC Connector无法拉取新字段修复方案
- 刷新Schema缓存:官方连接器默认会缓存集合Schema结构,新字段不会自动同步。你可以在ODBC数据源配置界面找到Schema Refresh相关选项,设置为每次连接时刷新,或手动点击刷新Schema按钮后重新连接BI工具。
- 调大Schema采样范围:连接器默认仅采样前N条文档生成Schema,如果新字段仅出现在采样范围外的文档中就无法被识别。你可以在配置项中调大采样行数,或设置为扫描全集合生成Schema(数据量较大时会降低首次连接速度)。
- 手动指定Schema:如果上述方法无效,可以手动编写JSON格式的Schema定义文件,在连接器配置中指定加载该文件,强制包含需要的新增字段。
二、CData MongoDB ODBC连接器报错修复方案
该报错为CData连接器常见的BSON类型映射异常,可按以下步骤排查:
- 调整类型映射配置:打开CData连接器的数据源配置,找到Type Mapping Options,将ObjectId、Decimal128等MongoDB特有类型的映射规则调整为字符串或对应BI工具支持的SQL类型。
- 开启宽松类型解析:在高级配置项中找到
RelaxedSchemaValidation参数,设置为True,允许连接器自动兼容非结构化的字段类型差异。 - 排除异常字段:如果是某个特定字段导致的报错,可以在配置中添加
ExcludedColumns参数,指定排除该字段后测试连接,确认问题根源后再针对性调整类型规则。 - 升级连接器版本:如果使用的是旧版本CData连接器,部分BSON类型的支持存在Bug,升级到最新正式版即可修复。
三、免费替代方案
如果不想使用付费连接器,可以选择以下免费方案实现需求:
- 提前创建MongoDB视图,将非结构化的嵌套字段拍平为固定结构,再通过官方连接器读取视图即可稳定拉取所有字段。
- 部署官方免费的MongoDB BI Connector社区版,配置好Schema生成规则后即可免费使用,无需付费购买第三方连接器。
内容的提问来源于stack exchange,提问作者usmansharif shaik
相关产品推荐
相关产品推荐

