2016-02-23 5 views
0

Привет, я пытаюсь извлечь записи из одной таблицы и вставить в другую таблицу (MS SQL). Когда вы выбираете ее в качестве значения ключа и используете пакетный процесс для фиксации с размером 1000, когда 2000 записей содержат только две строки, вставленные в таблицу. Я попытался с помощью насыпного режима, но объемный режима прошу динамический запрос Ниже мой запрос INSERT INTO Sample VALUES(#[payload.Index], #[payload.Name]) и полезная нагрузка {Index=1,Name=XX},{Index=2,Name=XX},{Index=3,Name=XX} и т.д. Пожалуйста, помогите мне, как использовать насыпной режим в Mule ESB и что динамический запрос я могу написать для этого .Batch просто вывешивает первую строку, поэтому я думаю, что использование большого количества внутри пакета решит мою проблему. Спасибо заранее!Mule ESB Database Bulk and Batch Process

ответ

3

Вы можете использовать mule bulk mode = "true" с parameterized query.

<db:insert config-ref="Database_Configuration" bulkMode="true" doc:name="Database"> 
      <db:parameterized-query> 
       <![CDATA[INSERT INTO Sample(column1, column2) VALUES(#[payload.Index], #[payload.Name]) 
      ]]></db:parameterized-query> 
</db:insert> 

Заканчивать этот bulk mode link from mule

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

Просто убедитесь, что ваш payload имеет Collection типа вдаваясь в bulk mode

В вашем log4j2.xml, добавить ведение журнала для модуля базы данных в режиме debug увидеть фактический запрос, принятый мулом в базу данных. Отлично подходит для отладки.

<AsyncLogger name="org.mule.module.db" level="DEBUG"/> 

Обратите внимание, что bulk mode будет не работа с batch-processing. Либо один из двух будет работать, но если вы намерены просто вставлять данные, bulk-mode намного эффективнее, чем пакет.

+0

Charu благодарит за ваш быстрый ответ. Но в сообщении об ошибке то, что я получил, не может использовать параметризованный запрос при использовании массового режима. –

+0

Вставьте свое сообщение об ошибке config и error, у меня код работает с использованием 'bulk-mode' с' параметризованным запросом'. Какую версию Мула вы используете? –

+0

Привет чару время работы 3.7.1 и студия 5.4.0 –