2013-01-16 40 views
1

我試圖顯示(在控制檯中打印)對應於ADF-BC的SQL查詢。我不知道如何用Jdeveloper 11.1.1.1.0和Oracle 11g來做到這一點。我只想看看在將SQL發送到Oracle之前要執行哪些SQL查詢。問題是我正在使用現有的Web應用程序(使用ADF-BC編寫),響應時間過長。所以我想用SQL Developer測試這個查詢,並做一些「解釋計劃」來看看我可以如何優化它。如何在控制檯中顯示ADF - 業務組件SQL查詢?

或者,如果有人知道如何從executeQueryForCollection(Object qc, Object[] params, int noUserParams) 方法獲得SQL查詢字符串(在調試模式下)?

回答

1

使用Java運行時選項運行該應用程序 -Djbo.debugoutput = console 這將在日誌窗口中打印信息。它與我打印非常多的信息,所以你應該快速關閉它。 要在文件中使用相同的信息,請使用 -Djbo.debugoutput =文件 這會將信息打印到文件中,只有文件名被寫入日誌。

+0

這是工作的罰款。謝謝。 – jacques

0

藉助Oracle 12C和JDeveloper 12.1.3,你有兩個選擇:

  • 如果您使用集成的WebLogic Server,你可以配置Oracle診斷日誌記錄(社區法網操作菜單在服務器日誌窗口),並把oracle.jbo地級FINEST
  • 您可以通過登錄或this.getQuery()
看值檢索子類的SQL查詢執行 oracle.jbo.server.ViewObjectImpl,在
1

在獨立WLS啓用診斷消息測試在12.2.1.2

在下面的例子將被使用附帶的JDeveloper如在Windows機器的獨立的WLS。
轉到WLS bin目錄。在我們的例子中,%JDEV_SYSTEM_DIR%\ DefaultDomain \ bin \ 例如: C:\ JDeveloper \ mywork \ system11.1.1.3.37.56.60 \ DefaultDomain \ bin \ (注意:檢查相關文章以找出運行日誌中的JDEV_SYSTEM_DIR WLS)

打開文件的setDomainEnv.cmd在文件的頂部後評論輸入以下行

set DIAGNOSTIC_OPTIONS=-Djbo.debugoutput=file -Djbo.logging.show.function=true 

然後修改下面一行

set JAVA_PROPERTIES=-Dwls.home=%WLS_HOME% -Dweblogic.home=%WLS_HOME% 

(在同一直線上。 ) 到

set JAVA_PROPERTIES=-Dwls.home=%WLS_HOME% -Dweblogic.home=%WLS_HOME% %DIAGNOSTIC_OPTIONS% 

http://adfhowto.blogspot.ca/2011/01/enable-diagnostic-messages-on-you.html