Обнаружение ошибок из Informatica Log через ETL - PullRequest
0 голосов

Я записываю данные в плоские файлы, используя Informatica, с Transformation Control Transformation, чтобы разделить вывод на несколько файлов.

Мне нужно знать, не удается ли создать конкретный файл и , чтобы записать в таблицу журнала эту частоту. Я вызвал некоторые ошибки (например, принудительное создание несуществующего каталога в имени файла.), А затем попытался зафиксировать ошибку.

  1. Определение типа журнала ошибок (вкладка «Объект конфигурации») в свойствах сеанса не приводит к каким-либо соответствующим исключениям.
  2. Проверка Запись файла журнала сеанса обратной совместимости (вкладка Свойства) в свойствах сеанса работает.

Однако файл журнала с обратной совместимостью нелегко расшифровать. Я мог распознать ошибку, которую заставил.

WRITER_1_*_1> WRT_8004 Writer initialization failed [Error opening session output file [/path-to-file/fake-path/filename.csv] [error=No such file or directory]]. Writer terminating.
WRITER_1_*_1> CMN_1761 Timestamp Event: [Mon May 27 18:20:28 2019]
WRITER_1_*_1> WRT_8064 Error opening session output file [/path-to-file/fake-path/filename.csv] [errno=2] [error=No such file or directory]
WRITER_1_*_1> WRT_8333 Rolling back all the targets due to fatal session error.
WRITER_1_*_1> CMN_1761 Timestamp Event: [Mon May 27 18:20:28 2019]
WRITER_1_*_1> WRT_8081 Writer run terminated. [Error in loading data to target table [MAPPING_CSV]]

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

MAPPING> TM_6307 DTM error log disabled. 

или

DBG_21216 Finished transformations for Source Qualifier [LKPTRANS{{DSQ}}]. Total errors [0]

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

Заранее спасибо.

1 Ответ

0 голосов
/ 28 мая 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...