Выполнение процедуры Oracle до квалификатора источника, которая должна использовать тот же сеанс Oracle

У меня есть процедура безопасности, которая должна вызываться непосредственно перед выбором из исходной таблицы. Без этой процедуры строки не возвращаются.

Проблема в том, что я проверил несколько способов вызова этой процедуры непосредственно перед квалификатором источника:

  • Pre-sql в Source Qualifier как хранимую процедуру
  • Источник предварительной загрузки
  • Поместите несколько предложений sql в свойство запроса sql в Source Qualifier (добавлено 08.11.2014)

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

Каким может быть правильный способ объединить оба процесса и использовать один и тот же сеанс Oracle?

Примечание добавлено 8 ноября 2014 г .:

Я также попытался поместить 2 предложения в SQL-запрос квалификатора источника:

call procedure('param'); 
SELECT field1, field2, field.... from VI_ETL...; 

введите описание изображения здесь

и я получаю ошибку ORA-24333 Zero Interaction Count, perharps, потому что первый элемент не является оператором SELECT, который возвращает строки?


person malcubierre    schedule 07.11.2014    source источник


Ответы (1)


Попробуйте использовать SQL Query на Source Qualifier, чтобы вызвать серию операторов, первая из которых будет хранимой процедурой безопасности.

person Maciejg    schedule 07.11.2014
comment
Я уже пробовал что-то вроде этого в SQL Query: call procedure ('param'); ВЫБРАТЬ поле1, поле2, поле .... из VI_ETL ...; и получите ошибку ORA-24333 Zero Interaction Count - person malcubierre; 08.11.2014
comment
У меня нет экземпляра Oracle для его тестирования, но как насчет создания SP обертывания, который сначала будет вызывать SP безопасности, а сразу после этого - Select? То же, что и в SQ, но через еще один SP. - person Maciejg; 09.11.2014
comment
Существует решение DB2 community.informatica.com/message/61244, но его нельзя Oracle. informática не может работать с объектом SYS_REFCURSOR. Я нашел обходной путь вставки временной таблицы внутри процедуры и прочитал из этого источника в Sq. - person malcubierre; 11.11.2014