如何从 dm_acl 对象 table 中删除 acl

How to delete an acl from dm_acl object table

我正在使用 documentum,我想从我的 dm_acl 对象 table 中删除一些 acls。首先我确保 acl 存在 :

select * from dm_acl where object_name = 'myAclName'

然后我确保没有其他对象正在使用该 acl

select * from dm_folder where acl_name = 'myAclName'

然后我使用以下命令删除了那个 acl:

delete dm_acl objects where object_name = 'myAclName'

但随后我收到一条错误消息,指出 you have specified a none updatable type (dm_acl)。有什么方法可以使用 DQLDFC

删除 acl

您不能使用 DQL 删除 ACL 对象。但是,您可以使用 API 和语法

来删除它
destroy,c,<acl_object_id>

还有一件事,检查你提到的

select * from dm_folder where acl_name = 'myAclName'

还不够。可以在每个 sysobject 上找到 ACL 对象,因此基本上您需要将检查范围扩大到 dm_sysobject 类型

select * from dm_sysobject where acl_name = 'myAclName'

由于IDfAcl接口上有destroyACL()方法,因此可以通过DFC删除ACL。