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

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

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

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

NIFI流程:

PutSQL 错误:

重置价值:
INSERT INTO public.detail (id,name, salary) VALUES (${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。