EBS下查詢資料來源

2022-08-30 08:48:13 字數 3910 閱讀 2254

在oracle e-business suite 環境下進行二次開發,要求技術顧問對ebs系統的結構和實現有一定的了解,同時熟悉系統的關鍵流程,進而掌握後台的表結構設計,查詢資料來源需要達到的兩個目的是:

1.找到對應的資料庫物件:檢視或表

2.找到介面中欄位對應後台的表列

本文先介紹如何查詢form介面對應的資料來源,快速找出form介面後台對應的表/檢視以及對應的列,form本身特有的特點,致使查詢form介面所對應的後台資料來源變得相對簡單方便。

->使用「檢視—> 歷史記錄」功能--找出資料塊對應的後台資料庫物件

->使用「檢視 —> 診斷 –> 檢查」

--找出字段對應後台資料庫列資訊

->使用」last query」功能               --找出在form中最後執行查詢的sql語句

->使用sql trace功能                     --檢視與資料庫有關的操作和效能統計資訊

->檢視form源**                           --最徹底最萬能

一、使用「檢視—> 歷史記錄」功能

「歷史紀錄」可以找出資料塊對應的後台資料庫物件,並不能找出欄位所對應的資料庫列。適用場合:適用於基於資料庫塊的資料來源查詢

前提:游標停留在需要查詢資料來源的資料塊中,並按某個條件查詢出資料

步驟:

1.選擇選單:help –> record history(幫助–> 歷史紀錄)

2.檢視彈出視窗中table name的值,這個值便是游標所在資料塊對應的後台資料庫檢視或資料庫表

例項(查詢使用者所對應的後台資料庫物件):

1.游標定位於user name欄位

2.執行查詢,查詢出sysadmin使用者資訊

3.選擇選單:help –> record history

4.彈出如下視窗,其中table name的值:fnd_user,既是後台資料庫物件

限制:歷史紀錄」的方式只適用於基於資料庫塊的查詢;而對於非資料庫塊的後台查詢沒有辦法使用,不能使用的地方會彈出如下的訊息:

二、使用「檢視」->診斷->檢查

通過檢查功能可以查詢出欄位對應後台資料庫列資訊,因此使用此方法的需要先找出對應的資料庫檢視或者表

步驟:

1.游標停留在form介面中的乙個字段

2.選擇選單:help —> diagnostics –> examine

4.彈出視窗中field對應的值既是form所對應的字段,一般情況下,此值即是資料列的列名

例項(查詢出user name 欄位所對應的後台資料庫列):

1.游標停留在user name欄位中

2.選擇選單:helpàdiagnosticsàexamine

4.彈出如下視窗,filed的值:user_name就是user name欄位所對應的後台資料庫列,因此本字段為:fnd_user.user_name4.user name:

注意事項:使用此方法來查詢資料列時,我們得到的只是form欄位的名稱,很多使用form欄位的名稱和所對應的資料來源列一致,但是在少數情況下,form欄位名稱和後台資料庫列名存在差異,這個使用此方法就無法100%適用,而需要通過名稱等進一步推測確認。

三、使用" last query 」功能

使用最後查詢可以找出在form中最後執行查詢的sql語句,從而得知對應的資料來源以及相關資料庫列資訊

適用場合:同時適用於基於資料庫塊和非資料庫塊的資料來源查詢

步驟:

1.在form中進行資料查詢

2.游標停留在form介面中的乙個欄位上

3.選擇選單:help –> diagnostics –> examine

5.彈出視窗中,選擇block為:system,field為:last_query

6.value中的sql語句既是form中最後查詢的語句

例項(找出併發管理器對應的後台資料來源):

1.進入併發管理器介面,並進行查詢(自動查詢),使用「歷史紀錄」方法無法得到表

3.彈出視窗中,選擇block為:

systemfield為:

last_query

4.取得value為:

這樣可以取得資料庫檢視:fnd_concurrent_queues_vl

限制:由於last query中查詢到的sql語句是form中最後一次查詢的語句,因此如果需要查詢像主從關係中主塊資料來源就沒有辦法適用。

四、使用sql trace功能

使用sql trace功能,可以知道在form操作過程中,對資料庫系統進行了哪些查詢、dml和ddl操作,可以全面的檢視與資料庫有關的操作和效能統計資訊。

此方法是這些方法中功能最強大,同時也是最複雜的乙個,而且它經常成為效能除錯中的乙個得力工具。

步驟:

1.啟動trace模式

2.在form中進行操作,並保證操作有查詢、插入、更新或刪除動作

3.關閉trace模式

4.登陸資料庫伺服器

5.使用tkprof工具格式化trace結果檔案輸出

6.檢視被格式化過的trace檔案

7.推測驗證資料來源

例項(定義乙個使用者時,找到後台所進行的dml操作,進麵找到後台資料來源):

1.開啟form介面進入輸入狀態,還是以上面使用的user介面為例

2.選擇選單:help –> diagnostics –> trace –> (regular trace, trace with binds, trace with waits, trace with binds and waits)

3.記下trace檔案路徑及名稱

4.在介面上操作,輸入資訊,儲存

5.選擇選單:help –> diagnostics –> trace –> no trace,失效trace功能

6.使用資料庫作業系統使用者telnet到資料庫伺服器,切換到$oracle_home/admin/_/udump(上面所顯示的路徑) :

營鋼:/ykerp/db/tech_st/10.2.0/admin/yktest_erp03/udump

1.使用tkprof命令格式化trace輸出:tkprof demo_ora_21088_sysadmin.trc demo_ora_21088.out

實驗:yktest_ora_1809_handzf.trctkprof yktest_ora_1809_handzf.trcyktest_ora_1809_handzf.out

五、檢視form源**

form對於form應用來說,如果上面的方法還不足以滿足需求的話,可能就需要採用最徹底的辦法了,直接檢視form的源**,我想這個方法是最能夠解決問題的方法了,但是由於需要檢視源**,對於檢視的人員就需要熟悉form的開發,因此一般情況下不先推薦使用它,但是對於如果希望完全搞清楚form應用後台邏輯的情況下,也只能採用這種方式。此方法在此就不做介紹了,此方法可以說只適合form開發人員使用。

上面的方法是oracle ebs二次開發中最常用最有效的方法,在form相關的開發和應用中,掌握的以上的方法基本上能夠解決絕大多數的問題。

後續將放出oracle ebs環境下查詢資料來源的oaf篇

連線Excel資料來源並查詢

excel表必須是97 2003格式的。否則無法查詢。imports system.data.oledb public class form1 private sub button1 click byval sender as system.object,byval e as system.even...

spring下配置多資料來源

前言 做乙個移動應用的後台伺服器,涉及到多資料庫,以及資料庫集群配置 資料來源用spring管理,中間封裝了自己的jdbc 看配置檔案 上面的配置檔案,關鍵資訊已經遮蔽,大致配置過程有,裡面配了兩個資料來源,乙個普通的資料來源,另外乙個集群資料庫資料來源配置。如果大家在陪集群資料來源時出錯,很可能是...

SpringBoot學習 資料來源(一)單資料來源

springboot2.1.9預設支援三種資料來源 connection pool com.zaxxer.hikari.hikaridatasource org.apache.tomcat.jdbc.pool.datasource org.apache.commons.dbcp2.basicdata...