我想从文件柜(称为“Wombat Insurance Co”)中检索所有文件。目前我正在使用这个 DQL 查询:
select r_object_id, object_name from dm_document(all)
where folder('/Wombat Insurance Co', descend);
这没问题,只是它最多只返回 100 个结果。如果柜子里有 5000 个文件,我想得到所有 5000 个结果。有没有办法使用分页来获取所有结果?
我试过这个查询:
select r_object_id, object_name from dm_document(all)
where folder('/Wombat Insurance Co', descend)
ENABLE (RETURN_RANGE 0 100 'r_object_id DESC');
本打算以 100 个文件为增量获取结果,但是当我尝试执行此查询时,它给我一个错误。错误是这样说的:
com.emc.documentum.fs.services.core.CoreServiceException: "QUERY" action failed.
java.lang.Exception: [DM_QUERY2_E_UNRECOGNIZED_HINT]error:
"RETURN_RANGE is an unknown hint or is being used incorrectly."
我想我正确地使用了 RETURN_RANGE 提示,但也许我没有。任何帮助将不胜感激!
我也尝试过使用提示 ENABLE(FETCH_ALL_RESULTS 0)
但这仍然只返回最多 100 个结果。
澄清一下,我的问题是:如何从文件柜中获取所有文件?
最佳答案
您已经接受了一个使用 DFS 的答案。
由于您正在玩 DFC,这些信息可能会对您有所帮助。
DFS:
如果您使用 DFS,则必须了解可以使用 DFS 的并发 session 数。 我认为是 100 或 150。
DFC:
实际上,您可以通过 DFC 获取一个限制(我不确定是否使用 DFS)。
转到您的 DFC 应用程序(webtop 或 da 或任何东西)并检查 dfc.properties 文件。
# Maximum number of results to retrieve by a query search.
# min value: 1, max value: 10000000
#
dfc.search.max_results = 100
# Maximum number of results to retrieve per source by a query search.
# min value: 1, max value: 10000000
#
dfc.search.max_results_per_source = 400
dfc.properties.full
或类似文件在那里,您可以根据您的系统验证这些值。
我说的是 ContentServer 端,而不是客户端 dfc.properties 文件。
如果您对 DFC 使用 ENABLE (RETURN_TOP)
提示,有两种方法可以从 ContentServer 获取结果。
- 基于对象
- 基于行
您必须使用 server.ini 文件中的参数 return_top_results_row_based
进行配置。
所有这些更改都是针对 Documentum 服务器端的,而不是针对您的 DFC/DQL 客户端。
关于sql - DQL 查询以返回 Documentum 文件柜中的所有文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21248083/