【问题标题】:Documentum DQL: Change user typeDocumentum DQL:更改用户类型
【发布时间】:2014-09-17 14:18:44
【问题描述】:

是否可以更改用户的对象类型?

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

鉴于my_userdm_user 的子类型,上述查询会导致以下错误消息:

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

所以即使看起来不可能,有没有办法破解它?

【问题讨论】:

  • 您是否创建了类型 my_user 作为 dm_user 的子类型?
  • @Miki 是的 :) 我知道不建议这样做。无论如何,我设法通过销毁dm_users 并将它们重新创建为my_users 来解决现实世界的问题。不过,我仍然想知道是否有必要这样做。
  • 你的困境是什么?关于改变对象类型;您可以在数据库级别模仿这一点,尽管我认为这些对象很可能不能用作 dm_user 对象。在这种情况下,您不需要创建新的 dm_user 子类型。你提到了“现实世界的问题”。那是什么?
  • 现实世界的问题:糟糕的 LDAP 同步导致大多数用户变为 dm_user 而不是所需的子类型。解决方案是删除所有用户,修复同步配置并重新同步。但是,如果我没有成功修复同步配置,就必须以某种方式转换用户。

标签: dql documentum


【解决方案1】:

有一种方法,我测试了它并且它有效。 您需要创建您之前创建的类型的新用户对象,例如:

CREATE custom_user OBJECT SET user_name = 'Test user' SET user_os_name = 'test_user' 
    SET user_address = 'no.email@for.you' 
    SET default_folder = '/Temp' 
    SET description = 'Test' 
    SET user_login_name = 'test_user'

之后,我通过 Documentum Administrator (DA) 对用户对象进行了最终设置:设置内联密码、用户权限等。 我通过 DA 登录验证了用户。一切都很好!

我已经为存储库中的一些其他用户对象配置了重新分配详细信息并运行了重新分配作业。已配置用户的所有用户详细信息已成功传输到我的测试用户对象,就像使用重新分配用户的标准 OOTB 程序一样。

【讨论】:

  • 太棒了!重新分配作业是我没有想到的一个非常巧妙的解决方法。但在我们的特定情况下,这并没有帮助,因为由于 SSO 等原因,我们需要保留用户登录名。至少在没有一些自定义脚本将登录名更改为过时/暂时性的情况下是这样。我会将其标记为正确,因为我认为这是我们将得到的最接近的:) 谢谢!
  • 之后您可以随时为此自定义类型的用户对象设置登录详细信息,它应该可以工作。
猜你喜欢
  • 1970-01-01
  • 2011-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-09
  • 1970-01-01
  • 2022-10-05
相关资源
最近更新 更多