Вызов формы хранимой процедуры Oracle PL /SQL ODI

#oracle #stored-procedures #plsql #oracle-data-integrator

#Oracle #хранимые процедуры #plsql #oracle-data-integrator

Вопрос:

Я собираюсь вызвать хранимую процедуру PL SQL из ODI, которую я создал ранее. Для достижения этой цели, выполнив тщательный поиск по этому вопросу в Интернете, я обнаружил, что я должен выполнить следующие шаги:

  1. Создайте процедуру ODI.
  2. Поместите код begin schema.myproc(with param) end; в задачу этого.
  3. Добавьте эту созданную процедуру в пакет ODI и запустите.

Итак, это:

 begin 
my_schema.procedure_name(20200701)
end;
  

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

 ODI-1228: Task Procedure-test-task1 fails on the target connection PHY_PARSDB.
Caused By: java.sql.SQLException: ORA-06550: line 3, column 1:
PLS-00103: Encountered the symbol "END" when expecting one of the following:
:= . ( % ;

  

Итак, кто-нибудь может мне помочь с этой проблемой?

Ответ №1:

Вы забыли ;

Правильный код:

 begin 
my_schema.procedure_name(20200701);
end;
  

Комментарии:

1. можете ли вы помочь мне передать параметр упомянутой процедуре в приведенном выше блочном коде? Я имею в виду, что у меня будет переменная с именем date_key, инициализируйте ее, а затем используйте ее вместо доступной константы (20200701).

2. Извините, я не эксперт по ODI, возможно, вы найдете свой ответ в документации: docs.oracle.com/cd/E17904_01//integrate.1111/e12643 /.

3. #<PROJECT_CODE>.date_key если это переменная проекта или #GLOBAL.date_key глобальная переменная. Если вам нужна дополнительная информация, пожалуйста, создайте новый вопрос, чтобы будущий читатель также мог получить ответ.