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

Apache NiFi使用PutDatabaseRecord插入PostgreSQL失败:必填列'name'无值

解决Apache NiFi向PostgreSQL插入CSV数据时的"Record does not have a value for Required column 'name'"报错

核心问题定位

报错根源是CSV Reader没有正确解析CSV文件的字段——你的CSV用分号(;)做分隔符,但NiFi的CSV Reader默认用逗号(,),导致整行被识别成单个字段,PutDatabaseRecord自然找不到name列的值。

具体修复步骤

1. 修改CSV Reader的分隔符配置

打开你提供的[配置图片3]对应的CSV Reader配置,找到**字段分隔符(Field Delimiter)**选项,把默认的逗号(,)改成分号(;)。

2. 确认PutDatabaseRecord的映射配置

  • 检查PutDatabaseRecord的「Record Reader」是否选择了修改后的CSV Reader
  • 如果用的是「使用记录中的列名(Use Column Names from Record)」模式,确认CSV表头和数据库列名完全匹配(你的CSV表头name和数据库列名一致,这部分没问题)

3. 额外检查项

  • 确认CSV文件表头没有多余空格或特殊字符(你的测试CSV表头正常)
  • 确保CSV每一行的name字段都有值(你的测试数据都符合要求)

验证

修改配置后重新运行流程,GetFile获取CSV后,CSV Reader能正确拆分出name、age、email三个字段,PutDatabaseRecord就能将数据插入到PostgreSQL的data表中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 16:04:50