Documentum DFS,重命名dm_user(user_name属性)

时间:2010-12-10 09:51:10

标签: c# web-services documentum documentum6.5 documentum-dfs

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

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

哦,我正在使用.NET c#,因此任何解决方案都必须与之兼容。

一致性检查报告:

  

警告CC-0002:用户' FirstName   在dm_group中引用了LastName '   id为'1200400186008806',但确实如此   没有有效的dm_user对象   ....

约50个用户就是这样。 在那之后:

  

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

和ACL,sysobjects,...还有大约50000行

TNX

编辑:一些澄清

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

4 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分: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

希望这有助于某人。

答案 2 :(得分:1)

我不太清楚你的意思是购买重命名dm_user,但我希望你会遇到一堆问题,因为它对整个平台来说都是非常基础的。

Documentum实际上是一个面向对象的数据库,所以你应该能够创建一个dm_user的子类型,按你喜欢的方式调用它,它应该以相同的方式运行。

答案 3 :(得分:-1)

您可以使用DQL查询来执行更新,您可以通过DFC发出更新。 像

这样的东西
UPDATE dm_document set user_name='new name' where user_name='old name'