【问题标题】:Insert parameterized query插入参数化查询
【发布时间】:2017-06-03 06:26:40
【问题描述】:

我想对一个对象列表执行插入操作。

我的插入查询如下所示

insert into table name (#[flowVars['columnNames']]) values (#[flowVars['values']]) 

#[flowVars['columnNames'] 包含逗号分隔的列名,例如 col1,col2

#[flowVars['values'] contains #[payload.?val1], #[payload.?val2]

我收到以下错误。

列名“@P0”无效。 (com.microsoft.sqlserver.jdbc.SQLServerException)

我该如何解决这个问题?

【问题讨论】:

    标签: mule mule-component mule-module-jpa


    【解决方案1】:

    我可以建议您调试并检查是否为 flowVars['columnNames'] 和 flowVars['values'] 设置了正确的值,也可以将其放入 logger 以查看其在 log 中的值。然后检查上面的输出是否与此插入操作所需的列名匹配。

    【讨论】:

      【解决方案2】:

      恕我直言,上面的查询不适用于 Parameterized 查询。因为构造的查询将被 Mule 错误地解释。它可能是这样构造的:insert into tableName ('col1,col2') values ('\'val1\',\'val2\'')

      因此,我建议将查询类型更改为:动态

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-03-13
        • 2011-12-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多