Как выполнить UPSERT с дубликатами записей, захваченных в другом файле в informatica - PullRequest
0 голосов
/ 22 января 2020

У меня ниже требования -

  • Источник: Oracle
  • Цель: SQL Сервер
  • Тип загрузки : UPSERT
  • Первичный ключ в целевом столбце : (id + deptid + ctid)
  • Столбцы целевой таблицы
    • Имя
    • ID
    • deptID
    • CtID
    • Место
    • квант
    • total_buy

Я должен загрузить данные в таблицу и выполнить обновление, иначе вставьте. Я также должен выполнить ниже для сообщения об ошибках:

  • На нарушение ключа, пожалуйста, пропустите эту запись и продолжить загрузку записей. Пропущенные записи сохраняют его в файле (ct_err_.txt и сохраняют в архивном каталоге в течение 30 дней. Данные в файле ошибок: (id, deptid, ctid).

Я пытался:

SQ -flow1 -> aggregation -> err file
   -flow2 -> sorter-lookup on target -> router-update else insert.

Но если я не работаю должным образом.

Не могли бы вы помочь мне с логикой c.

1 Ответ

1 голос
/ 23 января 2020

Вам не нужен первый поток. Все, что вам нужно, это flow2, и на ваших Target in Session -> Mapping tab установите свойства Reject file directory и Reject filename соответственно.

Informatica автоматически выполняет ваши требования, перенаправляя отклоненные строки в файл по вашему выбору. Возможно, вам потребуется настроить свойство Stop on errors на вкладке Config Object сеанса.

...