Salesforce - 查询在存在更多行时仅返回500行

时间:2011-09-01 13:49:18

标签: php web-services soap salesforce

首先,我不是那个开发这个的人,但我是那个有SO账号的人。我的SF知识几乎不存在。

基本上,问题是查询只返回PHP脚本中的500行。但是,当我们用另一个查询(直接在PHP中)替换该查询时,该查询返回超过1500行。肯定有超过500行应该由第一个查询返回 - 我已经使用数据资源管理器进行了检查。

这是第一个查询:

SELECT Id,WEBSITE_ExternalId__c,Name,
.............
from Account

这是第二个:

SELECT Id,WEBSITE_ExternalId__c,D_STANDARD_Age__c,
..............
from Feedback__c 
ORDER BY CreatedDate ASC

任何线索?我很欣赏这可能不是足够的信息,但我对Salesforce了解不多。如果还有其他任何你需要回答的问题,请问我会看到我能做些什么。

2 个答案:

答案 0 :(得分:3)

对于大结果,结果由查询调用批处理,您将获得如此多的行,以及可用于获取下一批等的令牌等。查询结果中有一个完成标志,表示这是否是结果中的最后一批。如果done为false,则需要调用queryMore传递queryLocator(也在queryResult结构中返回)。请参阅query / queryMore上的文档/示例。

答案 1 :(得分:-1)

确保使用Setup>中的最新WSDL;开发> API,并确保在PHP设置中禁用WSDL缓存:https://help.salesforce.com/apex/HTViewSolution?id=786331&language=en

同样如指南中所述,500个结果是查询对象的默认值。除了对更大的调用使用queryMore()之外,请参阅此处以获取有关设置批量大小的文档:http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_calls_soql_changing_batch_size.htm