2010-12-10 49 views
1

用DFS對象Web服務一致性檢查程序更改某個用戶的user_name屬性後失敗。看來Documentum在其他文檔中使用user_name作爲外鍵,並且在dm_user上重命名此屬性不會更改此用戶的所有外鍵。Documentum DFS,重命名dm_user(用戶名屬性)

任何人都知道如何正確更改user_name值及其所有依賴關係?這甚至可以用DFS嗎?

哦,我使用.NET c#,所以任何解決方案都必須兼容。

一致性檢查報告:

警告CC-0002:用戶 '名字 姓氏' 在dm_group 引用id爲 '1200400186008806' 但 沒有一個有效的dm_user對象 ...

對於大約50個用戶來說,這是這樣的。 後到來:

警告CC-0007:與 r_object_id '4500000160051328' ACL對象有一個 不存在的用戶 '名姓' ...

和大約50000多線ACL,系統對象,...

TNX

編輯:一些澄清

編輯2:加入一致性檢查報告

回答

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

希望這可以幫助某人。

1

我不太清楚你的意思是買重命名dm_user什麼,但我希望你會得到的問題一堆,因爲它是整個平臺的基礎。

Documentum實際上是一個面向對象的數據庫,所以您應該能夠創建dm_user的子類型,將其稱爲您喜歡的類型,並且它應該以相同的方式運行。

+0

我的意思是改變某些dm_user的屬性user_name的值。我想更改dm_user的幾個實例的數據,而不是計劃 – 2010-12-10 10:06:45

+0

好的,我明白了。如果您更改了user_name屬性,那麼您將使用它的記錄的孤兒。您必須設計一種機制來執行更改。我不認爲有內置的方式。 – Rikalous 2010-12-10 10:20:35

+0

那麼親手處理所有孤兒?別無退路?有人提到DFC *可能擁有它,但不知道別的。 – 2010-12-10 10:21:45

-1

您可以使用DQL查詢來執行更新,您可以通過DFC發佈更新。 類似於

UPDATE dm_document set user_name='new name' where user_name='old name' 
3

Dm_userrename作業是要做到這一點的方法。將user_name作爲外鍵不是一個很好的設計選擇,但我們必須忍受它。

+0

Thanky你。那麼我如何使用它?首先重命名用戶(就像我已經與DFS一樣)並且運行這個工作?我可以使用DFS運行作業嗎? – 2010-12-11 18:55:10