我正在使用Anypoint Studio 7.3和Mule 4.1。
我正在使用数据库大容量插入连接器,我希望将多个输入参数传递到SQL中。
我使用以下语法添加了多个输入参数
{payload: payload, tableName: vars.tblName, username: vars.username}但是我得到了下面的错误,并且也不确定如何引用有效负载中的值仍然是:Code或payload.Code:
无法胁迫对象({有效载荷:[{代码:"1",名称:"test1",Co.)到阵列
我使用的配置是:
<db:bulk-insert doc:name="Bulk Insert" doc:id="36328b21-ffd9-485e-8afa-34b6cb742956" config-ref="db-config">
<db:bulk-input-parameters ><![CDATA[#[{payload: payload, tableName: vars.tblName, Username: vars.username}]]]></db:bulk-input-parameters>
<db:sql >#["INSERT INTO :tableName
(
:tableName,
Code,
Name,
Comments
User
)
VALUES
(
NEWID(),
:Code,
:Name,
:Comments,
:username
)"]</db:sql>
</db:bulk-insert>谢谢你的帮助
发布于 2019-03-08 20:37:04
这里的问题是The中的de期望和对象数组。数组的每个元素都是一个具有要插入的行参数的对象。
因此,在您的例子中,我假设有效负载有一个包含所有代码、名称和注释的数组,因此我将使用以下脚本
<db:bulk-input-parameters ><![CDATA[#[
payload map ((item) -> item ++ {tableName: vars.tblName, username: vars.username} )
]]]></db:bulk-input-parameters>https://stackoverflow.com/questions/54927077
复制相似问题