postgresql - Nifi putsql处理器错误: Due to org. postgresql.util.PSQLException:列索引超出范围:1

标签 postgresql apache-nifi

我尝试将注入(inject)的 json 文件转换为 postgresql,首先我尝试使用 ConvertJSONToSQL 处理器将我的 json 文件转换为 sql 格式,之后我将流传递到 replacetext 处理器,然后我将流传递到 putsql 处理器。在 putsql 处理器中我遇到了问题

Due to org.postgresql.util.PSQLException: The column index is out of range: 1

NIFI流程: enter image description here

PutSQL 错误: enter image description here

重置值(value):
INSERT INTO public.detail (id,name, salary) 值 (${id},${name},${salary})

最佳答案

在putSQL之前,你可能有如下的flowfile内容,

id-->1
name->stack
salary->12k

INSERT INTO public.detail (id,name, salary) VALUES (1,stack,12k)

如果缺少任何值,您将面临找不到值 :1 的索引的问题。

例如,如果传入流文件中不存在“id”属性,您可能会收到该错误。

因此您必须检查传入流文件中的所有属性是否存在且插入查询的格式是否正确。 [或者] 获取在 putSQL 传入队列中排队后形成的插入查询,并在 PostgresSQL 中执行。

如果它在那里执行,那么它也会执行 putSQL。

关于postgresql - Nifi putsql处理器错误: Due to org. postgresql.util.PSQLException:列索引超出范围:1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44715579/

相关文章:

elasticsearch - NiFi : QueryElasticSearchHttp: Matching Objects with Expression Language?

java - 在运行时重新加载authorizers.xml文件

python - 如何使用python api代码仅更新postgres表中json类型列的1个属性

alert - 在 nifi 处理器中是否可以进行警报?

mysql - 得到???通过Nifi将非拉丁数据放入mysql时

sql - 合并多个 SELECT 语句

apache-nifi - Nifi通过Rest-API创建 Controller 服务

postgresql - 成为 super 用户 postgresql

postgresql - 选择整数返回函数结果到变量 postgres

python - sqlalchemy/psycopg2 中带有整数的 IN 子句