检查 Oracle 报告中未使用的查询

Check queries not used in a Oracle reports

我使用的是 Oracle Report Builder 9.0.4.1.0,我有一份定义了大量查询的大型报告。我认为并非所有查询都在报告中使用并且未链接到任何布局对象。 有没有一种简单的方法来检测特定报告中根本没有使用哪些查询(或其他对象)?不是删除查询,而是编译和 运行 并一一验证是否使用? 谢谢

如果有一个简单的方法可以做到这一点,我不知道。很久以前,当使用 Reports 1.x 时,报告被保存在数据库中,因此您可以编写查询来获取您感兴趣的元数据。不过我从来没有这样做过,但是 - 这是一个选项.现在,您所拥有的只是一个 RDF(或 JSP)文件。

但是,如果可以的话,有一些建议。

打开纸张布局编辑器。单击重复帧并观察其 属性 调色板,因为它包含有关其所属组的信息。 "Group" 可以在数据模型布局中查看。

由于没有那么多重复帧,您应该能够消除没有任何帧的查询,即不影响最终结果。


另一种选择是设置条件

WHERE 1 = 2

进入每个查询,这样它们就不会 return 任何行。 运行 报告并检查缺少的内容 - 然后删除该条件以便您获得值。继续第二个查询,依此类推。这有点乏味和耗时,但仍然比删除查询更快。

您可以 return 将结果报告到 XML 文件。每个带有数据的查询都将包含 XML-s 标签中的内容。 enter image description here