【问题标题】:Nifi putsql processor error: Due to org.postgresql.util.PSQLException: The column index is out of range: 1Nifi putsql 处理器错误:由于 org.postgresql.util.PSQLException:列索引超出范围:1
【发布时间】:2017-06-23 07:30:44
【问题描述】:

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

由于 org.postgresql.util.PSQLException: The column index is out of 范围:1

NIFI 流程:

PutSQL 错误:

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

【问题讨论】:

    标签: postgresql apache-nifi


    【解决方案1】:

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

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2012-08-24
      • 2015-03-13
      • 2015-02-13
      • 2022-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多