Любой способ вызвать пакет odi или интерфейс через базу данных oracle

Мне нужно выполнить пакет odi / отображение через параметрическую процедуру базы данных вместе с тем, что мне нужно, чтобы захватить статус пакета / отображения (Failed / Passed) в процедуре.

Версия ODI: 12c

Всего 1 ответ


Вы можете сделать это в два этапа:

  1. Создайте процедуру plsql, которая будет запускать команду сценария / строки оболочки
  2. Команда line вызовет сценарий ODI карты.

Вы можете достичь первого пункта, прочитав это .

Процедура PL / SQL, которая выполняет командную строку:

create or replace procedure host( cmd in varchar2 ) as status number; begin dbms_pipe.pack_message( cmd ); status := dbms_pipe.send_message( 'HOST_PIPE' ); if ( status <> 0 ) then raise_application_error( -20001, 'Pipe error' ); end if; end; / 

Второй момент написан в документации ODI, в главе 7.3.2 Выполнение сценария из командной строки .


Есть идеи?

10000