我尝试将注入(inject)的 json 文件转换为 postgresql,首先我尝试使用 ConvertJSONToSQL 处理器将我的 json 文件转换为 sql 格式,之后我将流传递到 replacetext 处理器,然后我将流传递到 putsql 处理器。在 putsql 处理器中我遇到了问题
Due to org.postgresql.util.PSQLException: The column index is out of range: 1
NIFI流程:
PutSQL 错误:
重置值(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/