2016-10-10 6 views
1

Я создал сопоставление, которое извлекает данные из плоского файла, который показывает мне данные об использовании для определенных отчетов SSRS. Файл перезаписывается каждый день с данными использования предыдущих дней. Моя проблема заключается в том, что иногда отчет не имеет никакого использования в этот день, и мой ETL отправляет мне сообщение «Failed», потому что в источнике не было никаких данных. Задание выполняется, если в источнике нет данных или для предотвращения его сбоя.Неудача сеанса Informatica

--Thanks

+0

«... есть способ избежать выполнения задания, когда в источнике нет данных. . " –

+0

Привет, Джонсон, это не сеанс, потому что в источнике нет данных. Отправьте сообщение об ошибке, будет полезно предоставить вам решение –

ответ

0

Простой способ решения этой проблемы заключается в создании «Транзитная пересылка» отображение, которое содержит только плоский источник файла, исходный спецификатор и цель плоского файла.

Вы должны создать сеанс, который запускает это сопоставление в начале вашего рабочего процесса, и попросить его прочитать ваш файл с плоским файлом. Цель может быть просто фиктивным плоским файлом, который вы переписываете. Тогда у вас будет это условие в ссылке на следующий сеанс, который фактически обработает файл:

$s_Passthrough.SrcSuccessRows > 0
0

Да, есть несколько способов, вы можете сделать это.

Вы можете предоставить пустой файл для задания ETL, когда нет исходных данных. Чтобы сделать это, используйте предсеансную команду, например touch <filename>, в рабочий процесс Informatica. Это создаст пустой файл с <filename>, если его нет. Рабочий процесс будет успешно работать с 0 строками.

Если у вас есть скрипт, который запускает работу Informatica, то вы можете поставить галочку там, а так:

if [ -e <filename> ] 
then 
    pmcmd ... 
fi 

Это будет пропускать работу от выполнения.

+0

Привет, Самик, очень хороший ответ. Действительно оценен. Но дело в том, что у него есть исходный файл без данных. Это должно работать без проблем. Надеюсь, что у них есть условие по электронной почте. А также команда touch предоставляет вам фиктивный файл без имени столбца, который не удастся при выполнении сеанса –

+0

Эй, Джим, я думал, что исходный файл отсутствует, поэтому рабочий процесс был неудачным. Вы уверены, что это не сработает, если в файле нет имен столбцов? Я должен это проверить. – Samik

+0

Да, конечно, это провалится. Потому что во время выполнения сеанса SQL override query не предоставляет никакого имени столбца из источника. Чтобы поддерживать связь с информатикой, просто введите путь - https://etlinfromatica.wordpress.com/ –

0

Проведите еще одну сессию перед фактической dataload. Прочитайте файл, используйте фильтр FALSE и некоторую фиктивную цель. Ссылка этот к сессии у вас уже есть и установить следующее условие ссылка:

$yourDummySessionName.SrcSuccessRows > 0 
Смежные вопросы