阵列列表上的Mulesoft数据库连接器错误

时间:2015-09-25 01:56:36

标签: database mule

我很傻,所以请耐心等待。我在评估进入DB连接器的mule表达式时遇到了问题。在调试时,我注意到我的表达式具有空值,因此导致错误。我期待一个map结果对象,所以我可以将它插入到DB连接器(SQL SERVER)。

当mule执行此命令时,我得到一个空值

#[payload['FULLDATE']]

但是我用

获得了结果
#[payload[0].FULLDATE]

你们可以对这一个人有所了解吗?

这是我的完整SQL语句

insert into [AWH_PrjPathFinder].[dbo].[ws_balesDataExt] values ('#[payload['FULLDATE']]', '#[payload.BROKER = ( payload['BROKER'] == null) ? '' : payload.BROKER.toString()]', '#[payload.CENTER = ( payload['CENTER'] == null) ? '' : payload.CENTER.toString()]', '#[payload.DATATYPE = ( payload['DATATYPE'] == null) ? '' : payload.DATATYPE.toString()]','#[payload.COTTONORG = ( payload['COTTONORG'] == null) ? '' : payload.COTTONORG.toString()]',#[payload['UNIT']],'#[payload.dateDataEnteredInAGDB']')

enter image description here

3 个答案:

答案 0 :(得分:1)

您的有效负载是一个数组,因此我认为您需要使用“For Each”范围循环并插入每条记录。

答案 1 :(得分:1)

您应该使用应该拥有数据库端点的每个范围。

如果列表中有100个元素,那么可能会遇到性能损失。

我建议你使用一个存储过程,它可以接受你发送的值列表并插入数据库并发回一个响应。

希望这会有所帮助!!

答案 2 :(得分:1)

是否可以在调试模式下检查返回对象类型,然后使用表达式计算器(调试器右侧可用的小图标{x + y / 2})对其进行评估。