1

我试图找到使用 DQL 删除的文档列表,但我需要找到仅属于特定文件柜的列表。我无法使用audittrailwith r_object_idof构建查询dm_cabinet

也许是这样的?

select distinct a.r_object_id, a.event_name, a.user_name, a.audited_obj_id, a.time_stamp from dm_audittrail a, dm_document d where a.event_name='dm_destroy' and a.time_stamp > date(today) and (a.current_state = 'Effective' or a.current_state='Approved') and d.i_cabinet_id='0c0033xxxx...';

请帮我。

4

1 回答 1

2

当您在 Documentum 中删除对象时,它就会真正被删除(至少它的元数据、文档内容会一直存在,直到dm_clean作业执行为止)。没有像其他 DMS 系统(例如 Nuxeo)那样的垃圾功能。这就是来自dm_audittrailwith join on的 SELECT 查询dm_document无法返回预期信息的原因。

但是,如果您还将dm_link事件记录到审计跟踪中,还有一种方法可以做到这一点。然后你可以使用这样的查询:

SELECT * FROM dm_audittrail d, dm_audittrail l 
  WHERE d.event_name = 'dm_destroy' 
  AND l.event_name = 'dm_link' 
  AND d.audited_obj_id = l.audited_obj_id
  AND (l.id_1 = '0c00ad3f80000106' 
    OR l.id_1 IN (SELECT r_object_id FROM dm_folder WHERE CABINET(ID('0c00ad3f80000106'), DESCEND)))

它从审计跟踪中查找有关已删除文档的信息,并将其与有关该文档链接的信息也从包含父文件夹 ID 的审计跟踪中加入id_1

但请记住,当您也删除带有文件夹的文档时,使用此查询将不起作用,您还必须遍历已删除文件夹的审计跟踪。

于 2020-08-13T13:04:21.303 回答