【问题标题】:Documentum: Oracle database Date time difference and I_LATEST_ FLAGDocumentum:Oracle 数据库日期时间差和 I_LATEST_FLAG
【发布时间】:2013-01-29 13:36:13
【问题描述】:

我不知道如何在技术上正确表达。

简介

我们使用的是 documentum 6.0 和 oracle 11g。我尝试使用 DQL 搜索 documentum,即使在索引和调整之后,它在性能方面也很失败。

部分原因是因为 documentum 如何翻译 -> 任何(cat="abc" 和 cat ="aaa" 和 cat ="ccc")用于重复值

我正在尝试查找包含 cat="abc"、cat ="aaa" 和 cat ="ccc" 的文档,它会转化为子查询中存在的多个。

还有其他原因,比如加入表格等等。

因此我决定直接查询生成的oracle表。

到目前为止,POC 似乎相当成功,但我有一些问题

1) 我意识到旧版本存储在同一个表中,最新记录被 I_LATEST_FLAG 标记为“1”

我可以知道在哪里可以找到由 documentum 创建的所有 I_* 列的定义吗?

我可以相信“I_LATEST_FLAG”=1 始终是文档的最新版本吗?

2) 我知道 DQL 通过 Documentum 管理员提供的日期和时间是准确的,但在 oracle DB 中它们晚了几个小时。

我想知道这个问题有合适的解决方案吗?

3) 有人使用与我相同的解决方案吗?如果是这样,请分享我应该研究的其他问题?

谢谢。

【问题讨论】:

    标签: java oracle11g documentum


    【解决方案1】:
    1. 您可以在 EMC Documentum 系统对象参考中找到所有 dm* 对象及其列的定义。您可以从 EMC 的 Powerlink 网站下载。
    2. 根据对象参考指南,i_latest_flag 当此版本是对象的最新版本在版本树中的特定分支上时为真。。 em>

    3. 我还没有在任何系统上实现直接查询数据库的解决方案(这似乎是一个极端的解决方案,可能表明设计存在问题),所以我无法为您提供帮助。

    对于 DQL 和数据库中存储的日期时间之间的时间差,从 Documentum 6.0 及以上版本开始,数据库中存储的所有日期都以 UTC 格式存储,并且 DQL 查询中发送的日期被认为是本地时间进行查询的客户端,因此有所不同。搜索 Powerlink 了解如何使用 dm_docbase_config 的 r_tz_aware 属性,您会发现 EMC 提供的非常有用的技术说明,它解释了时区功能的工作原理。

    【讨论】:

      【解决方案2】:

      对于当前版本,不要与上一个版本混淆,列是“i_has_folder”。

      您可以在数据库中创建一个视图,将其注册为 DQL 中的注册表,然后在 DQL 中对其进行查询。通过这种方式,您将获得相同的日期翻译。

      【讨论】:

      • i_has_folder和i_latest_flag有什么区别
      猜你喜欢
      • 1970-01-01
      • 2018-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多