【问题标题】:How do you add multiple input parameters to database connector in Mule如何将多个输入参数添加到 Mule 中的数据库连接器
【发布时间】:2019-03-09 04:37:04
【问题描述】:

我正在使用 Anypoint Studio 7.3 和 Mule 4.1。

我正在使用数据库批量插入连接器,我想将多个输入参数传递到 SQL 插入中。

我使用以下语法添加了多个输入参数

{payload: payload, tableName: vars.tblName, username: vars.username}

但我得到下面的错误,也不确定我应该如何引用有效载荷中的值仍然是:代码或有效载荷。代码:

无法将对象({payload: [{Code: "1",Name: "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>

感谢您的帮助

【问题讨论】:

    标签: mule anypoint-studio dataweave


    【解决方案1】:

    这里的问题是 mule 中的批量插入需要对象数组。其中 Array 的每个元素都是一个 Object,其中包含要插入的行的参数。

    所以在你的情况下,我假设有效负载有一个包含所有代码、名称和注释的数组,所以我会使用这个脚本

    <db:bulk-input-parameters ><![CDATA[#[
            payload map ((item) -> item ++ {tableName: vars.tblName, username: vars.username} )
    ]]]></db:bulk-input-parameters>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多