【问题标题】:How to delete an acl from dm_acl object table如何从 dm_acl 对象表中删除 acl
【发布时间】:2016-11-07 09:28:18
【问题描述】:

我正在使用 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 documentum dfc


    【解决方案1】:

    您不能使用 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() 方法。

    【讨论】:

    • 我明白了,但我怎么能像你上面提到的 java 中那样使用 APIs 呢?任何链接、资源甚至是样本都值得赞赏:) 我试图用谷歌搜索,但找不到任何合理的结果
    • 您可以在 Documentum Administrator 中运行它或下载 Repoint 或 DqMan 以在玩游戏时使用它。如果您需要运行一次,可以使用命令行工具直接在 Content Server 上运行它。您可以在 DFC 代码中运行它,但在这种情况下更容易使用 IDfAcl 对象并调用 ddestroyACL() 方法。
    猜你喜欢
    • 1970-01-01
    • 2021-08-03
    • 1970-01-01
    • 1970-01-01
    • 2021-04-12
    • 1970-01-01
    • 2011-01-12
    • 1970-01-01
    相关资源
    最近更新 更多