我想在对象列表上执行插入操作。
我的插入查询如下所示
insert into table name (#[flowVars['columnNames']]) values (#[flowVars['values']])
#[flowVars [' columnNames']包含逗号分隔的columnNames,例如col1,col2
#[flowVars['values'] contains #[payload.?val1], #[payload.?val2]
我收到以下错误。
列名无效' @ P0'。 (com.microsoft.sqlserver.jdbc.SQLServerException)
我该如何解决这个问题?
答案 0 :(得分:1)
我建议您调试并检查是否为flowVars [' columnNames']和flowVars ['值']设置了正确的值,您也可以将其放入记录器中在日志中看到它的价值。然后检查上面的输出是否与此插入操作所需的列名匹配。
答案 1 :(得分:1)
恕我直言,上面的查询不适合参数化查询。因为构造的查询将被Mule错误地解释。它可能是这样构造的:insert into tableName ('col1,col2') values ('\'val1\',\'val2\'')
因此,我建议将查询类型更改为:动态。