2015-09-25 2 views
1

Я очень новичок в mule, поэтому, пожалуйста, несите меня. У меня возникает проблема при оценке выражения мула, идущего в разъем DB. Во время отладки я заметил, что мое выражение имеет нулевые значения, следовательно, вызвало ошибку. Я ожидаю объект результата карты, поэтому я могу подключить его к разъему DB (SQL SERVER).Ошибка соединителя базы данных Mulesoft в списке массивов

Когда мул выполняет эту команду, я получаю нулевое значение

#[payload['FULLDATE']] 

Но Im получать результаты с

#[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

ответ

1

Вы должны использовать для каждой области действия, в которой вы должны иметь конечную точку БД.

Если у вас есть 100 элементов в списке, возможно, удар по производительности.

Я предлагаю вам использовать хранимую процедуру, которая может принимать список значений, которые вы отправляете и вставляете в БД, и отправляете ответ.

Надеюсь, что это поможет!

1

Ваша полезная нагрузка представляет собой массив, так что я думаю, вам нужно корыто кольцую с «For Each» рамки и вставить каждую запись.

1

Вы можете проверить тип возвращаемого объекта в режиме отладки и затем оценить его с помощью анализатора выражений (небольшая иконка {x + y/2}, доступная в правой части отладчика.

Смежные вопросы