Любой способ вызвать пакет odi или интерфейс через базу данных oracle - PullRequest
1 голос
/ 15 мая 2019

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

ODI Версия: 12c

1 Ответ

1 голос
/ 16 мая 2019

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

  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 Выполнение сценария из командной строки .

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