Documentum DFS, переименование dm_user (атрибут user_name)

После изменения какого-либо атрибута user_name пользователя с помощью средства проверки целостности веб-службы DFS Object происходит сбой. Кажется, Documentum использует user_name в качестве внешнего ключа в других документах, и переименование этого атрибута в dm_user не изменяет все внешние ключи этого пользователя.

Кто-нибудь знает, как правильно изменить значение user_name и все его "зависимости"? Это возможно даже с DFS?

О, я использую.NET C#, поэтому любое решение должно быть совместимо с этим.

Отчет проверки согласованности:

ПРЕДУПРЕЖДЕНИЕ CC-0002: пользователь 'FirstName LastName' указан в dm_group с идентификатором '1200400186008806', но не имеет допустимого объекта dm_user....

Это происходит примерно для 50 пользователей. после этого наступает:

ПРЕДУПРЕЖДЕНИЕ CC-0007: у объекта ACL с r_object_id '4500000160051328' есть несуществующий пользователь 'FirstName LastName'...

и еще около 50000 строк для ACL, sysobjects,...

Тпх

РЕДАКТИРОВАТЬ: некоторые разъяснения

РЕДАКТИРОВАТЬ 2: добавлен отчет проверки согласованности

4 ответа

Решение

Ок, разобрался

Что вам нужно сделать, это создать новый 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'
Другие вопросы по тегам