【问题标题】:SharePoint 2010 Expand recurrences CAML Query exceeding list view thresholdSharePoint 2010 扩展重复 CAML 查询超出列表视图阈值
【发布时间】:2012-11-18 18:54:43
【问题描述】:

为了从列表中获取事件项目,我发出了一个 CAML 查询,该查询仅返回少量项目(大约 17 个)。当我将列表视图阈值设置为 10000 时,一切正常,但是当我将 LVT 设置为 5000 时,我收到“超出管理员设置的列表视图阈值”错误。 我的 CAML 查询非常简单:

<Where>
<And>
    <DateRangesOverlap>
        <FieldRef Name="EventDate" />
        <FieldRef Name="EndDate" />
        <FieldRef Name="RecurrenceID" />
        <Value Type="DateTime">
            <Now />
        </Value>
    </DateRangesOverlap>
    <And>
        <BeginsWith>
            <FieldRef Name="Place" />
            <Value Type="Text">Boston</Value>
        </BeginsWith>
        <Or>
            <Eq>
                <FieldRef Name="Status" />
                <Value Type="Text">Status1</Value>
            </Eq>
            <Eq>
                <FieldRef Name="Status" />
                <Value Type="Text">Status2</Value>
            </Eq>
        </Or>
    </And>
</And>

谁能解释为什么会发生这种情况?是因为在扩展重复次数时,SP 实际上运行了一个单独的查询,导致超出了 LVT?任何重组查询的建议都很好,但我确实需要查看所有重复事件的出现(不仅仅是主项)。

【问题讨论】:

  • 列表包含多少个事件?我认为这不是查询返回多少项目的问题,而是列表包含多少事件。
  • 该列表包含超过 5000 项。限制 CAML 查询的原因是它们不会选择超过 LVT 数量的项目。您的回答表明,如果任何列表的项目数量超过 LVT,那么所有 CAML 查询都将失败 - 事实并非如此。请重试。

标签: sharepoint recurring-events


【解决方案1】:

如果有人感兴趣,我已经设法使用 Query 并找出如何避免达到阈值。 我所做的只是更改查询元素的顺序,以便首先列出我的索引字段,最后列出 DateRangesOverlap 节点。这是有效的结果:

    <Where>
<And>
    <BeginsWith>
        <FieldRef Name="Place" />
        <Value Type="Text">Boston</Value>
    </BeginsWith>
    <And>
        <Or>
            <Eq>
                <FieldRef Name="Status" />
                <Value Type="Text">Status1</Value>
            </Eq>
            <Eq>
                <FieldRef Name="Status" />
                <Value Type="Text">Status2</Value>
            </Eq>
        </Or>
        <DateRangesOverlap>
            <FieldRef Name="EventDate" />
            <FieldRef Name="EndDate" />
            <FieldRef Name="RecurrenceID" />
            <Value Type="DateTime">
                <Now />
            </Value>
        </DateRangesOverlap>
    </And>
</And>
</Where>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-31
    • 2020-03-30
    • 2016-09-17
    相关资源
    最近更新 更多