2010-07-18 41 views
3

我將使用Application Express和Oracle Database Enterprise,VPD構建應用程序在使用上下文的架構上實現, 針對開發者問題我設置了登錄觸發器來設置用戶;VPD和上下文使用Application Express

但使用VPD,上下文時,或登錄觸發器我無法查看裏面的應用程序數據,但我可以用SQL語句

所以是他們的Apex問題的看法呢?

回答

1

可能與執行登錄觸發器。

通常,Web應用程序(包括Apex)將不會爲連接到應用程序的每個用戶建立數據庫會話。相反,它將擁有一個數據庫會話池(可能是10個),並在最終用戶發出數據庫請求時使用它們中的任何一個。

的數據庫用戶用於登錄和多少會話可以使用都應該配置取決於你是如何實現的Apex(嵌入式PL/SQL網關的Apex監聽器或Oracle HTTP服務器)

總之,登錄觸發器可能是設置CONTEXT變量的錯誤地方。

2

的正確方法心尖做,這是使用的應用程序安全設置的VPD屬性:

Shared Components > Edit Security Attributes > Security 

有一個名爲「虛擬專用數據庫PL/SQL調用設置安全環境」一節(或者那個效果),把你的代碼放在那裏設置VPD上下文。它由每個頁面視圖的Apex引擎執行。

相關問題