1

我支持 Filenet 应用程序,通常专注于性能改进技术。我们经常面临与查询优化相关的问题。通常我们从 DBA 获取查询,这些是在数据库级别触发的 DB SQL。现在从应用程序代码中我们传递 CE SQL 而不是 DB SQL。我知道 CE 将 CE SQL 解析为底层 DB SQL。我想弄清楚我是否有数据库 SQL,我可以得到相应的 CE SQL 正在被解雇。我可以编写的代码或脚本,我可以在其中输入 CE SQL 并生成相应的 DB SQL。感谢我是否能得到任何指示,因为我真的被困住了。

4

2 回答 2

0

捕获 CE SQL 查询的方法是为您感兴趣的对象类打开审计并选择Query Event作为事件。现在每次执行查询时都会创建一个事件对象。该对象有一个名为的属性QueryText,其中包含所执行的 CE 查询。您可以使用查询中的创建时间或其他一些信息将其与您的数据库查询相匹配。

查询事件可以使用 ACCE 进行查询,也可以使用 API 对象以编程方式访问com.filenet.api.events.QueryEvent

请注意,在繁忙的系统上会产生很多查询事件!

于 2018-12-20T06:59:12.993 回答
0

您需要为DB子系统启用跟踪日志记录。这是通过Trace ControlACCE 中的域配置选项卡完成的。然后您将能够在p8_server_trace.log.

为方便起见,您可能还希望为SRCH子系统启用跟踪。然后原始和生成的查询将齐头并进。

FileNet P8 文档中提供了有关跟踪记录的详细信息。

于 2018-12-20T22:48:09.367 回答