我很傻,所以请耐心等待。我在评估进入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']')
答案 0 :(得分:1)
您的有效负载是一个数组,因此我认为您需要使用“For Each”范围循环并插入每条记录。
答案 1 :(得分:1)
您应该使用应该拥有数据库端点的每个范围。
如果列表中有100个元素,那么可能会遇到性能损失。
我建议你使用一个存储过程,它可以接受你发送的值列表并插入数据库并发回一个响应。
希望这会有所帮助!!
答案 2 :(得分:1)
是否可以在调试模式下检查返回对象类型,然后使用表达式计算器(调试器右侧可用的小图标{x + y / 2})对其进行评估。