2011-11-18 5 views
13

Я хочу выполнить транзакции при записи в DB в Talend, но не знаю как. Я пробовал различные компоненты из палитры, но не смог выполнить. Я был бы признателен за любую помощь или даже за лучший учебник, связанный с этой темой.Сделки в Talend

Спасибо!

ответ

13

Talend поддерживает откат транзакции и совершает запись при записи в БД.

Давайте возьмем Mysql, например: для использования соединения tMysqlConnection для создания соединения с БД в начале задания и использования tMysqlCommit для фиксации изменения и закрытия, если предыдущий подзаголовок работает нормально, tMysqlRollback для отката изменения, если предыдущая работа в подзаголовке неудача, простая работа выглядит следующим образом:

tMysqlConnection_1 
    | 
onsubjobok 
    | 
tFileInputDelimited--main---tMysqlOutput 
    | 
onsubjobok---tMysqlCommit 
onsubjoberror---tMysqlRollback 

на tMysqlOutput, отметьте опцию using an existing connection

+1

И не забывайте снять флажок «Автоматическая фиксация» в компоненте tMysqlConnection (вкладка «Дополнительные настройки»). –

2

Существуют различные способы записи данных в БД в Talend. У вас есть возможность использовать отдельный компонент подключения (использовать существующее соединение) или использовать встроенный. Когда вы используете отдельный компонент подключения, вам необходимо явно совершить транзакцию, используя компонент tMSSqlCommit (или аналогичный компонент для другого типа базы данных). Если вы используете встроенный модуль, транзакция автоматически совершает транзакции без компонента tMSSqlCommit (или аналогичного компонента для другого типа базы данных).

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