Microsoft distribuerar Microsoft SQL Server 2008 R2-korrigeringar som en nedladdningsbar fil. Eftersom korrigeringarna är kumulativa innehåller varje ny utgåva alla snabbkorrigeringar och alla säkerhetskorrigeringar som ingick i den tidigare SQL Server 2008 R2-korrigeringsversionen.
Symptom
Tänk dig följande scenario:
- Du har en RDL-fil (Report Definition Language) som innehåller en tablixkontroll i Microsoft SQL Server 2008 R2 Reporting Services.
- Du lägger till en radgrupp eller en kolumngrupp i tablixkontrollen och anger sedan ett grupputtryck för gruppdata genom att använda en kolumn som har en numerisk datatyp.
- Den här kolumnen innehåller ett värde som inte ligger inom intervallet för datatypen Int32. Till exempel är ett värde i kolumnen 9000001777400270.
I det här scenariot får du följande felmeddelande när du försöker generera rapporten:
Obs
Ett fel uppstod under lokal rapportbearbetning.
Ett fel uppstod under rapportbearbetningen.
Värdet var antingen för stort eller för litet för en Int32.
Lösning
Information om kumulativ uppdatering
SQL Server 2008 R2
Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 4. Om du vill veta mer om hur du hämtar det här kumulativa uppdateringspaketet för SQL Server 2008 R2 klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
2345451 kumulativt uppdateringspaket 4 för SQL Server 2008 R2 Obs! Eftersom versionerna är kumulativa innehåller varje ny korrigeringsversion alla snabbkorrigeringar och säkerhetskorrigeringar som ingick i den tidigare SQL Server 2008 R2-korrigeringsversionen. Vi rekommenderar att du installerar den senaste snabbkorrigeringen som innehåller den här snabbkorrigeringen. Mer information om hur du åtgärdar det här problemet får du om du klickar på följande artikelnummer i Microsoft Knowledge Base:
981356 De SQL Server 2008 R2-versionerna som släpptes efter att SQL Server 2008 R2 släpptes
Lösning
Lös problemet genom att konvertera den numeriska datatypen till datatypen Double eller till datatypen Int64. Gör följande:
Dubbelklicka på gruppen i fönstret Radgrupper eller Kolumngrupper för att öppna Gruppegenskaper .
På fliken Allmänt ändrar du grupputtrycket till följande System.Double-datatypsuttryck:
CDbl(Fält!<Fältnamn>. Värde)Eller ändra grupputtrycket till följande System.Int64-datatyp:
CLng(Fält!<Fältnamn>. Värde)
Status
Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".
Referenser
Mer information om datatyper finns på följande webbplatser:
Allmän information om decimalstrukturen
Allmän information om strukturen "Int32"