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

Mulesoft database connector error on array list

我是 mule 的新手,所以请多多包涵。我在评估进入数据库连接器的 mule 表达式时遇到问题。在调试时,我注意到我的表达式有空值,因此导致了错误。我期待一个地图结果对象,所以我可以将它插入数据库连接器(SQL 服务器)。

当 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']')

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

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

如果列表中有 100 个元素,则可能会影响性能。

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

希望对您有所帮助!!

能否请您在调试模式下检查您的 return 对象类型,然后使用表达式计算器(调试器右侧的小图标{x+y/2} 对其进行计算。