如何从dm_acl对象表中删除acl



我正在使用documentum,我想从我的dm_acl对象表中删除几个acl。首先,我确保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'

是不够的。ACL对象可以在每个sysobject上找到所以基本上你需要将检查范围扩大到dm_sysobject类型

select * from dm_sysobject where acl_name = 'myAclName'

通过DFC删除ACL是可能的,因为IDfAcl接口上有destroyACL()方法。

最新更新