1

我必須從Oracle數據庫導入存儲過程到Informatica。 但是,當我嘗試使用存儲過程轉換時,我無法查看相應的存儲過程。 我正在使用正確的oracle驅動程序,因爲我在導入目標數據庫表時沒有任何問題。 我試過查看oracle數據庫中的存儲過程,使用 select * from all_objects where object_type='FUNCTION',但找不到我要找的 函數。 請告訴我這些:從oracle導入存儲過程到Informatica

  • 我們能在甲骨文

  • 查看列表和存儲過程(S)/功能(S)的代碼,我是什麼在Informatica的存儲過程轉變失蹤?

回答

1

如果不從這個得到任何結果..

select * from all_objects where object_type='FUNCTION' 

它要麼意味着你沒有任何功能或當前用戶沒有執行任何功能的權限。找出哪個用戶擁有該功能並授予以下權限。

例如:

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

爲了避免混淆,確保在Informatica的連接的用戶名和連接到數據庫時是一樣的,你正在使用的一個。

1
  1. 將對象導入到Informatica中時,列出的對象始終由「連接」用戶擁有。如果你的對象是由其他用戶擁有的,你就不會看到它。要查看非連接用戶所擁有的對象,您必須在連接時在模式文本框中選擇「全部」。

  2. 您應該在尋找object_type ='PROCEDURE'而不是「FUNCTION」。因此,您的查詢應爲:select * from all_objects where object_type='PROCEDURE'

  3. 如果所有這些都已完成並且您仍然看不到該對象,請檢查該對象的特權給連接用戶。爲此,最好的課程是 a。請求您的dba將該對象的執行權限授予您的連接用戶。或 b。以該對象的所有者身份連接到數據庫並運行以下命令: grant execute on <object_name> to <connecting_user>