documentum dfs、dm_userの名前の変更(user_name属性)
-
08-10-2019 - |
質問
いくつかのユーザーを変更した後 user_name DFSオブジェクトWebサービスの一貫性チェッカーを使用した属性は失敗します。 documentumは、user_nameを他のドキュメントの外部キーとして使用しているようで、dm_userのこの属性の名前を変更しても、このユーザーのすべての外部キーを変更しないようです。
user_name値とそのすべての「依存関係」を正しく変更する方法を知っている人はいますか?これはDFSでも可能ですか?
ああ、私は.NET C#を使用しているので、すべてのソリューションはそれと互換性がある必要があります。
一貫性チェッカーレポート:
警告CC-0002:ユーザー '名前苗字'は、ID '1200400186008806'を使用してDM_GROUPで参照されていますが、有効なDM_USERオブジェクトはありません。
約50人のユーザーにとってこのようになります。それが来た後:
警告CC-0007:r_object_id '4500000160051328を備えたACLオブジェクトには、存在しないユーザーがいます'名前苗字' ...
ACL、sysobjects、...
TNX
編集: いくつかの説明
編集2: 一貫性チェッカーレポートを追加しました
解決 2
わかりました、それを理解しました:
あなたがしなければならないことは、次の属性を使用して新しい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を自動的に開始しませんでした
これが誰かを助けることを願っています。
他のヒント
DM_USERRENAMEジョブはそれを行う方法です。外部キーとしてuser_nameを持つことは素晴らしいデザインの選択ではありませんでしたが、私たちはそれと一緒に暮らす必要があります。
DM_USERの名前を変更することを意味することはよくわかりませんが、プラットフォーム全体にとってかなり基本的であることを考えると、問題が発生することを期待しています。
documentumは効果的にオブジェクト指向のデータベースであるため、dm_userのサブタイプを作成し、好きなものを呼び出すことができ、同じ方法で動作する必要があります。
DQLクエリを使用して更新を行うことができます。これをDFCで発行できます。何かのようなもの
UPDATE dm_document set user_name='new name' where user_name='old name'