如何在控制台中显示ADF - 业务组件SQL查询?

时间:2013-01-16 20:48:11

标签: oracle-adf

我试图显示(在控制台中打印)与ADF-BC相对应的SQL查询。我不知道如何使用Jdeveloper 11.1.1.1.0和Oracle 11g。我只是想在将它们发送到Oracle之前查看将要执行的SQL查询。问题是我正在使用现有的Web应用程序(用ADF-BC编写),响应时间太长。因此,我想使用SQL Developer测试查询并制定一些“解释计划”,以了解如何对其进行优化。

或者,如果有人知道如何从executeQueryForCollection(Object qc, Object[] params, int noUserParams)获取SQL查询字符串(在调试模式下) 方法

3 个答案:

答案 0 :(得分:2)

使用Java运行时选项运行应用程序 -Djbo.debugoutput =控制台 这将在日志窗口中打印信息。我会打印很多信息,所以你应该快速关闭它。 要在文件中获取相同的信息 -Djbo.debugoutput =文件 这会将信息打印到文件中,只将文件名写入日志。

答案 1 :(得分:2)

使用Oracle 12c 和JDeveloper 12.1.3,您有两种选择:

  • 如果您使用集成的weblogic服务器,则可以配置Oracle诊断日志记录(服务器日志窗口中的Clic on Actions菜单),并将oracle.jbo置于级别FINEST
  • 您可以通过记录或观看oracle.jbo.server.ViewObjectImpl
  • 的值,在executeQueryForCollection(Object qc, Object[] params, int noUserParams)中实现this.getQuery()的子类中检索SQL查询

答案 2 :(得分:1)

  

在独立WLS中启用诊断消息在12.2.1.2中测试

在以下示例中,将使用JDeveloper附带的WLS作为Windows机器中的独立版本。
转到WLS bin目录。在我们的例子中%JDEV_SYSTEM_DIR%\ DefaultDomain \ bin \ 例如 C:\ JDeveloper中\ MYWORK \ system11.1.1.3.37.56.60 \默认域\ BIN \ (注意:检查相关帖子以从正在运行的WLS的日志中找出JDEV_SYSTEM_DIR。)

打开文件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