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

GridDB集成NiFi时PutDatabaseRecord报setObject索引1类型4错误

报错信息
putdatabaserecord.error
Unable to setObject() with value 1 at index 1 of type 4
根因分析

该报错是GridDB JDBC驱动的类型校验机制导致的:
PutDatabaseRecord处理器在执行插入时会默认调用setObject()方法传入字段值,GridDB不支持该方法的隐式类型转换,会直接校验参数类型和表字段定义是否完全匹配,而PostgreSQL的JDBC驱动支持自动类型转换,因此切换到PostgreSQL可以正常运行。

修复方案
  • 校准字段类型映射
    对比Avro Schema定义和GridDB表结构的字段类型,确保一一对应:
    • Avro的int类型必须对应GridDB的INTEGER类型
    • Avro的long类型必须对应GridDB的LONG类型
    • Avro的逻辑时间类型需要提前转换为Timestamp格式,对应GridDB的TIMESTAMP类型
  • 调整PutDatabaseRecord处理器配置
    • 将Database Type参数设置为GENERIC,避免使用其他数据库预设的类型适配规则
    • 开启Quote Column Names配置,规避字段名大小写识别问题
    • 显式设置Statement Type为INSERT,关闭自动判断逻辑
  • 备选降级方案
    如果上述配置调整后仍无法解决问题,可以在PutDatabaseRecord前新增一个ConvertRecord处理器,将Avro格式转换为Plain Text格式的INSERT语句,再使用PutSQL处理器执行,绕过自动类型转换逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 07:48:02