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

时间:2017-06-23 07:30:44

标签: postgresql apache-nifi

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

  

由于org.postgresql.util.PSQLException:列索引不在   范围:1

NIFI流程: enter image description here

PutSQL错误: enter image description here

更换价值:
INSERT INTO public.detail (id,name, salary) VALUES (${id},${name},${salary})

1 个答案:

答案 0 :(得分:2)

在putSQL之前,你可能有如下的流文件内容。,

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

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

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

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

所以你必须检查传入流文件中的所有属性是否存在以及正确形成的插入查询。 [要么] 获取在putSQL传入队列中排队后形成的插入查询,并在PostgresSQL中执行该操作。

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