如何从 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)
。有什么方法可以使用 DQL
或 DFC
删除 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。
我正在使用 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)
。有什么方法可以使用 DQL
或 DFC
您不能使用 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。