Antalet sökresultat är 5 000 när attributet Antal anges till 20000 i Microsoft Dynamics CRM
Den här artikeln innehåller en lösning på problemet att antalet sökresultat som returneras är 5 000 även om du anger attributet Antal till 20 000 i FetchXml-schemat.
Gäller för: Microsoft Dynamics CRM 2011
Ursprungligt KB-nummer: 911510
Viktigt
Den här artikeln innehåller information om hur man ändrar i registret. Gör en säkerhetskopia av registret innan du ändrar i det. Du måste också veta hur registret återställs om ett problem uppstår. Mer information om hur du säkerhetskopierar, återställer och ändrar registret finns i Hur du säkerhetskopierar och återställer registret i Windows.
Symptom
Du använder Count
attributet i FetchXml-schemat för att skapa en fråga mot Microsoft Dynamics CRM-databasen. Sedan anger Count
du attributet till 20 000. I det här scenariot är antalet sökresultat som returneras 5 000. Dessutom är -instruktionen SELECT
i SQL-språket alltid SELECT TOP 5001
oavsett vad som anges för Count
attributet och för Paging
attributet.
Orsak
Det här problemet uppstår när du använder FetchXml-schemat för att hämta en resulterande sökuppsättning och när moreRecords
attributet är inställt på 1. Värdet 1 anger att mer än 5 000 poster är tillgängliga. I Microsoft Dynamics CRM Paging
har attributet en sidgräns på 5 000.
Lösning
Microsoft tillhandahåller programmeringsexempel enbart i förklarande syfte och gör inga utfästelser, varken uttryckligen eller underförstått. Detta omfattar men begränsas inte till underförstådd garanti för säljbarhet eller lämplighet för ett visst syfte. I denna artikel förutsätts att du känner till det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan förklara hur en viss procedur fungerar, men de ändrar inte exemplen för att utöka funktionerna och konstruera procedurer som motsvarar dina behov.
Lös problemet genom att använda Paging
attributet för att hämta poster. Använd moreRecords
sedan attributet i den resulterande sökuppsättningen för att avgöra om nästa sida ska returneras.
Följande kod visar till exempel hur du löser problemet.
moreRecords = true;
i = 0;
while(moreRecords)
{
get page i
if(result has more records)
i++
else
moreRecords = false
}
Mer information
Varning
Varning: Allvarliga problem kan uppstå om du felaktigt ändrar registret med hjälp av Registereditorn eller med en annan metod. Dessa problem kan kräva att du installerar om operativsystemet. Microsoft kan inte garantera att dessa problem kan lösas. Ändra registret på egen risk.
Om du vill justera sidgränsen till ett värde som är mindre än 5 000 lägger du till MaxRowsPerPage
DWORD-värdet i registret. Gör så här:
Välj Start, välj Kör, skriv regedit i rutan Öppna och välj sedan OK.
Leta upp och markera sedan följande registerundernyckel:
HKEY_LOCAL_MACHINE\Software\Microsoft\MSCRM
På redigera-menyn pekar du på Nytt och väljer sedan DWORD-värde.
Skriv MaxRowsPerPage och tryck sedan på RETUR.
Högerklicka på MaxRowsPerPage och välj sedan Ändra.
Skriv ett tal som är mindre än eller lika med 5 000 i rutan Värdedata och välj sedan OK.
Välj Avsluta på Arkiv-menyn.
Om du vill inaktivera växlingsfunktionen och sedan ignorera parametern MaxRowsPerPage
5 000 lägger du till TurnOffFetchThrottling
DWORD-värdet i registret. Gör så här:
Obs!
Om du utför de här stegen kan det orsaka prestandaproblem på datorn.
Välj Start, välj Kör, skriv regedit i rutan Öppna och välj sedan OK.
Leta upp och markera sedan följande registerundernyckel:
HKEY_LOCAL_MACHINE\Software\Microsoft\MSCRM
På redigera-menyn pekar du på Nytt och väljer sedan DWORD-värde.
Skriv TurnOffFetchThrottling och tryck sedan på RETUR.
Högerklicka på TurnOffFetchThrottling och välj sedan Ändra.
Skriv ett annat tal än 0 i rutan Värdedata och välj sedan OK.
Obs!
Med steg 6 kan du hämta antalet poster som anges i attributet Antal för din fetch-instruktion.
Välj Avsluta på Arkiv-menyn.