【问题标题】:Query problem with lookup column in SharePointSharePoint 中查找列的查询问题
【发布时间】:2011-01-11 23:41:09
【问题描述】:

设置:

我在 SharePoint 网站上有两个列表,A 和 B。列表 A 有一个列“b”,用于查找列表 B 的 ID 字段。我在 A 中有 500k+ 条记录,在 B 中有大约 6k 条记录。

什么有效:

我可以使用 SharePoint Web 服务对列表 A 中的项目执行查询,甚至可以根据“b”列的特定“查找”值过滤查询。例如,我可以查询 A 中 b 列与 1234 匹配的项目(...1234...),等等。

什么不起作用:

该查询不适用于早于特定日期的项目,即使我的查询不涉及任何日期——仅涉及查阅列。对超过两年的数据的任何查询都可以正常工作,任何超过该数据的查询都会失败。如果我从 SharePoint 网页查看项目,它们看起来没问题,并且从 B 中的子记录到 A 中的父记录的所有链接都可以正常工作——查找列完好无损。

问题:

SharePoint 中是否有某种维护任务会导致某些基础数据损坏,从而阻止基于查找 ID 的查询停止工作,例如系统还原等?换言之,查找列数据在 Web 浏览器的表面上看起来是正确的。但 SharePoint 是否使用 GUID 或其他可能不同步或过时的不可见数据来表示此值?

谢谢。

【问题讨论】:

  • 开始到这个问题是相关的:blog.qumsieh.ca/2009/05/12/….
  • 也许我将该列从非索引更改为索引的那一天就是一切都陷入困境的那一天。

标签: sharepoint lookup corrupt


【解决方案1】:

也许你正在达到另一个极限;查询中检索到的最大项目数?

list throttling

【讨论】:

  • 谢谢。这是有道理的,除了每个查询无论如何都只返回少数项目(少于 50 个)这一事实。有问题的行的 ID 不是幻数,日期也不是——这一切都不是幻数。我唯一的怀疑是系统还原出错了。
【解决方案2】:

通过将 LookupId="TRUE" 属性添加到您的 FieldRef 元素,尝试按 ID 进行查询。 http://abstractspaces.wordpress.com/2008/05/05/caml-query-lookup-field-by-id-not-by-value/

【讨论】:

  • 在没有 LookupID 的情况下查询错误日期以上的项目可以正常工作,所以我知道没有必要。但无论如何我都试过了——没有运气。它仍然没有工作。我尝试使用数字、文本等值类型进行查询...没有任何效果。
【解决方案3】:

问题似乎与相关列已编入索引有关。当我删除索引时,一切都开始工作了。当我重新应用索引时,一切都在继续工作。我将此问题归因于损坏的索引。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 2012-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    相关资源
    最近更新 更多