SharePoint 中查找列的查询问题
设置:
我在 SharePoint 网站上有两个列表,A 和 B。列表 A 有一个列“b”,它是对列表 B 的 ID 字段的查找。我在 A 中有 500k 多条记录,在 B 中有大约 6k 条记录。
什么有效:
我能够使用 SharePoint Web 服务对列表 A 中的项目执行查询,甚至能够根据“b”列的特定“查找”值来过滤查询。例如,我可以查询 A 中 b 列与 1234 匹配的项目 (...
什么不起作用:
该查询不适用于早于特定日期的项目,即使我的查询不以任何方式涉及日期——仅涉及查找列。对超过两年的数据的任何查询都可以正常工作,任何早于该数据的查询都会失败。如果我从 SharePoint 网页查看项目,它们显示正常,并且从 B 中的子记录到 A 中的父记录的所有链接都工作正常 - 查找列显示完好。
问题:
SharePoint 中是否存在某种维护任务可能会导致某些基础数据损坏,从而阻止基于查找 ID 的查询停止工作,例如系统还原等?换句话说,查找列数据在 Web 浏览器的表面上显示正确。但是 SharePoint 是否使用 GUID 或其他可能不同步或过时的不可见数据来表示该值?
谢谢。
Setup:
I have two lists on a SharePoint site, A and B. List A has a column 'b' that is a lookup to the ID field of list B. I have 500k+ records in A and about 6k records in B.
What works:
I am able to execute a query for items in list A using SharePoint web services, and am even able to filter the query based on a specific "lookup" value for column 'b'. For example, I can query for items in A whose column b matches 1234 (...<Value Type="Lookup">1234</Value>...), and so on.
What doesn't work:
The query does not work for items older than a specific date, even though my query does not involve dates in any way -- only the lookup column. Any query on data newer than two years old works fine, anything older than that fails. If I view items from the SharePoint web page they appear ok, and all the links from child records in B to parent records in A work just fine -- the lookup columns appear intact.
Question:
Is there some kind of maintenance task in SharePoint that can cause some underlying data to get corrupted that can prevent a query based on a lookup id to stop working, like a system restore, etc? In other words, the lookup column data appears correct on the surface in the web browser. But does SharePoint represent this value with a GUID or other invisible data that might be out of sync or stale?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
也许你正在触及另一个极限;查询中检索的最大项目数?
请参阅列表限制< /a>
Maybe you are hitting another limit; the maximum number of items retrieved in a query?
See list throttling
尝试通过将 LookupId=”TRUE” 属性添加到 FieldRef 元素来按 ID 进行查询。
http:// Abstractspaces.wordpress.com/2008/05/05/caml-query-lookup-field-by-id-not-by-value/
Try querying by the ID by adding the LookupId=”TRUE” attribute to your FieldRef element.
http://abstractspaces.wordpress.com/2008/05/05/caml-query-lookup-field-by-id-not-by-value/
该问题似乎与相关列已建立索引这一事实有关。当我删除索引时,一切都开始工作。当我重新应用索引时,一切都继续工作。我将此问题归因于损坏的索引。
The problem appears to be related to the fact that the column in question was indexed. When I removed the index everything started working. When I reapplied the index, everything kept on working. I'm attributing this problem to a corrupt index.