数组列表上的 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} 对其进行计算。
我是 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} 对其进行计算。