3

我正在尝试显示(在控制台中打印)与 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 查询字符串(在调试模式下)?

4

3 回答 3

3

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

  • 如果您使用集成的 weblogic 服务器,您可以配置 Oracle 诊断日志记录(单击服务器日志窗口中的操作菜单),并放置oracle.jbo到级别FINEST
  • oracle.jbo.server.ViewObjectImpl您可以在子类实现中检索您的 SQL 查询,executeQueryForCollection(Object qc, Object[] params, int noUserParams)方法是记录或观察this.getQuery()
于 2016-03-07T14:20:06.003 回答
2

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

于 2013-01-30T17:32:03.237 回答
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\DefaultDomain\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

于 2017-02-28T13:29:12.653 回答