【发布时间】:2015-09-09 03:54:16
【问题描述】:
Documentum 中有没有办法获取文件夹的所有子文件夹?有人可以建议一个 DQL 或一些我可以指定父文件夹的东西,DQL 会返回所有子文件夹的文件夹路径。
【问题讨论】:
标签: documentum emc
Documentum 中有没有办法获取文件夹的所有子文件夹?有人可以建议一个 DQL 或一些我可以指定父文件夹的东西,DQL 会返回所有子文件夹的文件夹路径。
【问题讨论】:
标签: documentum emc
select distinct r_folder_path from dm_folder where folder('/Folder1/Folder2', descend)
这将返回 /Folder1/Folder2 下的所有文件夹和子文件夹
【讨论】:
要记住的一件事:
Documentum 支持将对象链接到多个父文件夹。这意味着一个文件夹可以有多个父文件夹。
如果你有这样的文件夹结构
Cabinet1
/Test1
/Test3
/Test2/
/Test3
其中Test3 是Test1 的子文件夹但也是(因为它可以链接到)Test2!
Documentum 使用重复属性来完成此任务。 r_folder_path 是 dm_folder 的重复属性(实际上是 dm_sysobject 的超类型)。
因此,运行 DQL:
select distinct r_folder_path from dm_folder where folder('/Folder1/Folder2', descend)
将返回您的文件夹所属的所有文件夹路径(链接到):
/Cabinet1/Test1/Test3
/Cabinet1/Test2/Test3
这可能不是您想要的!
由于 DQL 不允许您指定要返回的重复属性值(您不能指定重复属性的索引),因此在 DQL 中没有优雅(且故障安全)的方法。
您可以做的是获取所有object_name 的子文件夹,并在它们前面加上您在搜索中使用的父文件夹的文件夹路径(但这需要一些编码)。
查看 Documentum Content Server 系统对象参考指南(可在 EMC developer community 或现在 here 上获得)
【讨论】: