DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Отправляем письмо из ODI.

Отправлять письма из ODI не сложно. Для этого есть специальный компонент, который называется OdiSendMail:
Этот компонент позволяет выслать письмо на заданные адреса, указав при этом адрес почтового сервера, имя, от которого отправляется письмо, тему и тело письма, приложив, при необходимости, один или несколько файлов в аттачмент.
Использование этого компонента в случаях отладки ETL процессов позволяет ничего дальше на этот счет не придумывать. Разработчик вставляет отправку письма себе, сам формирует тело письма, заголовок и, возможно, прикладывает файл.
Но, в случае, если необходимо отправлять почту для целей мониторинга процессов загрузки, например, сообщать на электронную почту о падениях некоторых сценариев или о других нестандартных ситуациях, намного удобнее написать отдельный пакет, который будет заниматься отправкой письма.
В случае отдельного пакета можно предусмотреть возможность отправки одних типов писем администраторам, других - бизнес пользователям или менеджерам по качеству данных.
Я предлагаю создать примерно следующий пакет:
Схема выполнения пакета:
  • Декларация переменной #MAIL_PROJECT_CODE для передачи в пакет идентификатора списка рассылки.
  • Декларация переменной #MAIL_SUBJECT для передачи в пакет темы письма.
  • Декларация переменной #MAIL_BODY для передачи в пакет тела письма.
  • Проверка, если идентификатор списка рассылки не установлен - установка значений по умолчанию.
  • Обновление переменных #MAIL_LIST_TO и MAIL_LIST_CC из таблицы.
Для работы пакета необходимо создать в БД таблицу параметров, к которой будет иметь доступ пользователь, от имени которого работает ODI, и в которой будут храниться следующие данные:
MAIL_PROJECT_CODE - наименование списка рассылки
MAILING_LIST_TO - перечень адресов через запятую
MAILING_LIST_CC - перечень адресов для копии сообщения через запятую.
Также необходимо создать 2 переменных, которые будут использоваться как константы, для указания адреса почтового сервера и имени, от которого производится рассылка. С другой стороны, для еще большей гибкости, можно эти значения добавить в таблицу параметров рассылок.
Также, при необходимости, можно добавить переменную для передачи в сценарий отправки почтового сообщения строку с файлами, которые необходимо приложить к письму. Необходимо только учитывать особенности операционной системы, в которой выполняется агент, в части именования файлов и папок.
Сгенерировав из пакета сценарий мы можем использовать его в других пакетах для отправки почты с необходимыми сообщениями.







jAntivirus