2014-09-17 3 views
2

Можно ли изменить тип объекта?Documentum DQL: Изменить тип пользователя

CHANGE dm_user OBJECT TO my_user WHERE r_object_id = '{some id}' 

Учитывая, что my_user является подтипом dm_user, запрос выше результатов в следующее сообщение об ошибке:

[DM_QUERY_E_CHANGE_NON_SYSOBJECT]error: "The CHANGE OBJECT statement can only be used on dm_sysobject or its subtypes." 

Таким образом, даже несмотря на это, казалось бы, невозможно, есть ли способ взломать это?

+0

Вы создали тип my_user как подтип dm_user? – Miki

+0

@Miki Да :) Я знаю, что это не рекомендуется. В любом случае мне удалось решить проблему реального мира, уничтожив «dm_user's» и воссоздав их как «my_user's». Мне все еще интересно, если бы это было необходимо сделать. – eivamu

+0

Какая у вас дилемма? Что касается изменения типа объекта; вы могли бы имитировать это на уровне БД, хотя я думаю, что эти объекты, скорее всего, не будут использоваться в качестве объектов dm_user. В этом случае вам не нужно было создавать новый подтип dm_user. Вы упомянули о «проблеме реального мира». Что это было? – Miki

ответ

1

Существует способ, я тестировал его, и он работает. Вам нужно создать новый пользовательский объект типа ранее создал, например:

CREATE custom_user OBJECT SET user_name = 'Test user' SET user_os_name = 'test_user' 
    SET user_address = '[email protected]' 
    SET default_folder = '/Temp' 
    SET description = 'Test' 
    SET user_login_name = 'test_user' 

После того, как я сделал окончательные настройки пользовательского объекта через Documentum Administrator (DA): установка встроенный пароля, привилегии пользователя и т.д. Я проверил пользователя, выполнив вход в систему через DA. Все отлично работает!

Я сконфигурировал переназначение деталей для какого-либо другого пользовательского объекта в репозитории и выполнил команду переназначения. Все пользовательские данные настроенных пользователей были успешно перенесены на мой тестовый пользовательский объект, как это должно быть с этой стандартной процедурой OOTB переназначающих пользователей.

+0

Отлично! Reissign Job - очень аккуратное обходное решение, о котором я не думал. В нашем конкретном случае это не помогло бы, так как нам нужно сохранить имя пользователя для входа из-за SSO и т. Д. По крайней мере, не без какого-либо специального скрипта, чтобы изменить имена пользователей на что-то устаревшее/временно в первую очередь. Я собираюсь отметить это как правильное, поскольку я думаю, что это самое близкое, что мы получим :) Спасибо! – eivamu

+0

После этого вы всегда можете указать данные для входа для этого пользовательского объекта пользовательского типа, он должен работать. – Miki