Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nifi putsql处理器错误:由于org.postgresql.util.PSQLException:列索引超出范围:1_Postgresql_Apache Nifi - Fatal编程技术网

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

Nifi putsql处理器错误:由于org.postgresql.util.PSQLException:列索引超出范围:1,postgresql,apache-nifi,Postgresql,Apache Nifi,我尝试将json文件转换为postgresql。首先,我尝试使用ConvertJSONToSQL处理器将json文件转换为sql格式,然后将流传递到replacetext处理器,然后将流传递到putsql处理器。在putsql处理器中,我遇到了问题 由于org.postgresql.util.PSQLException:列索引超出范围 范围:1 NIFI流量: PutSQL错误: 重置价值: 插入public.detail(id,name,salary)值(${id},${name},${s

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

由于org.postgresql.util.PSQLException:列索引超出范围 范围:1

NIFI流量:

PutSQL错误:

重置价值:

插入public.detail(id,name,salary)值(${id},${name},${salary})

在putSQL之前,您可能有如下流文件内容

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

INSERT INTO public.detail (id,name, salary) VALUES (1,stack,12k)
若缺少任何值,您将面临一个问题:找不到值1的索引

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

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

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