1

使用 DFS 对象更改某些用户的user_name属性后,Web 服务一致性检查器失败。似乎 Documentum 在其他文档中使用 user_name 作为外键,并且在 dm_user 上重命名此属性不会更改此用户的所有外键。

任何人都知道如何正确更改 user_name 值及其所有“依赖项”?这甚至可以用 DFS 实现吗?

哦,我使用的是 .NET c#,所以任何解决方案都必须与之兼容。

一致性检查报告:

警告 CC-0002:用户“ FirstName LastName ”在 dm_group 中被引用,id 为“1200400186008806”,但没有有效的 dm_user 对象...。

对于大约 50 个用户来说,它是这样的。之后是:

警告 CC-0007:具有 r_object_id '4500000160051328' 的 ACL 对象有一个不存在的用户 ' FirstName LastName ' ...

还有大约 50000 行用于 ACL、sysobjects、...

tnx

编辑:一些澄清

编辑 2:添加一致性检查报告

4

4 回答 4

3

Dm_userrename 作业就是这样做的方法。将 user_name 作为外键并不是一个很好的设计选择,但我们必须忍受它。

于 2010-12-10T19:50:15.123 回答
3

好的,想通了:

您需要做的是创建具有以下属性的新 dm_job_request:

            object_name = "UserRename",
            job_name = "dm_UserRename",
            method_name = "dm_UserRename",
            request_completed = false,
            priority = 0,
            arguments_keys = "OldUserName,NewUserName,report_only,unlock_locked_obj".Split(','), //stringarrayproperty
            arguments_values = "test,test123,F,T".Split(',') ////stringarrayproperty

之后,您手动运行 dm_userrename 作业。我尝试将优先级设置为 1(应该是“立即运行”选项),但它没有自动启动 dm_userrename

希望这可以帮助某人。

于 2010-12-14T09:09:57.843 回答
1

我不太清楚你是什么意思购买重命名 dm_user,但我希望你会遇到很多问题,考虑到它对整个平台来说是非常基础的。

Documentum 实际上是一个面向对象的数据库,因此您应该能够创建 dm_user 的子类型,随意调用它,并且它的行为方式应该相同。

于 2010-12-10T10:05:26.057 回答
-1

您可以使用 DQL 查询进行更新,您可以通过 DFC 发出更新。就像是

UPDATE dm_document set user_name='new name' where user_name='old name'
于 2010-12-10T10:41:28.017 回答