Импорт хранимой процедуры из Oracle в Informatica

Мне нужно импортировать хранимую процедуру из базы данных Oracle в Informatica. Но когда я пытаюсь использовать преобразование хранимой процедуры, я не могу просмотреть соответствующую хранимую процедуру. Я использую правильный драйвер Oracle, так как у меня нет проблем с импортом таблиц целевой базы данных. Я попытался просмотреть хранимые процедуры в базе данных oracle с помощью select * from all_objects where object_type='FUNCTION', но не смог найти искомую функцию. Пожалуйста, посоветуйте мне:

  • Можем ли мы просмотреть список и код хранимых процедур / функций в Oracle

  • Что мне не хватает в преобразовании хранимых процедур Informatica?


person alex    schedule 21.09.2012    source источник


Ответы (2)


Если вы не получите от этого никаких результатов ..

select * from all_objects where object_type='FUNCTION'

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

пример :

grant execute on <owner>.<function_name> to ETL_USER;

Чтобы избежать путаницы, убедитесь, что имя пользователя в подключении informatica и имя пользователя, которое вы используете при подключении к базе данных, совпадают.

person Rajesh Chamarthi    schedule 21.09.2012

  1. При импорте объекта в Informatica перечисленные объекты всегда принадлежат «подключающемуся» пользователю. Если ваш объект принадлежит другому пользователю, вы его не увидите. Чтобы увидеть объекты, не принадлежащие подключающемуся пользователю, вам нужно будет выбрать «Все» в текстовом поле схемы при подключении.

  2. Вы должны искать object_type = 'PROCEDURE', а не «FUNCTION». Следовательно, ваш запрос должен читаться как select * from all_objects where object_type='PROCEDURE'

  3. Если все это сделано, но вы по-прежнему не видите объект, проверьте права доступа к этому объекту для вашего подключающегося пользователя. Для этого лучше всего подойдет курс. попросите вашу dba предоставить вашему подключающемуся пользователю права на выполнение этого объекта. ИЛИ b. подключитесь к базе данных как владелец этого объекта и выполните следующую команду grant execute on <object_name> to <connecting_user>

person Raghav    schedule 22.09.2012