Společnost Microsoft distribuuje Microsoft SQL Server 2008 R2 opravy jako jeden soubor ke stažení. Protože jsou opravy kumulativní, každá nová verze obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího SQL serveru 2008 R2 fix release.
Příznaky
Zvažte následující scénář:
-
Máte soubor RDL (Report Definition Language), který obsahuje ovládací prvek Tablix v Microsoft SQL serveru 2008 R2 Reporting Services.
-
Do ovládacího prvku Tablix přidáte skupinu řádků nebo skupinu sloupců a potom nastavíte skupinový výraz na data skupiny pomocí sloupce, který má číselný datový typ.
-
Tento sloupec obsahuje hodnotu, která není v rozsahu datového typu Int32 . Například hodnota sloupce je 9000001777400270.
V tomto scénáři se při vygenerování sestavy zobrazí následující chybová zpráva:
Při místním zpracování sestavy došlo k chybě. Při zpracování sestavy došlo k chybě. Pro datový typu Int32 byla hodnota buď příliš velká, nebo příliš malá.
Řešení
Informace o kumulativní aktualizaci
SQL Server 2008 R2
Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 4. Další informace o tom, jak získat tento kumulativní balíček aktualizací pro SQL Server 2008 R2, najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
2345451 Kumulativní aktualizace 4 pro SQL Server 2008 R2 Poznámka Vzhledem k tomu, že buildy jsou kumulativní, každá nová oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího SQL serveru 2008 R2 fix release. Doporučujeme zvážit použití nejnovější opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
981356 Buildy SQL Server 2008 R2 vydaná po vydání SQL serveru 2008 R2
Alternativní řešení
Tento problém vyřešíte tak, že datový typ převedete na datový typ Double nebo na datový typ Int64 . Postupujte takto:
-
Poklikáním na skupinu v podokně skupiny řádků nebo skupiny sloupců otevřete vlastnosti skupiny .
-
Na kartě Obecné změňte výraz skupiny na tento systém. dvojitý výraz datového typu:
CDbl (pole!<název pole>. VícehodnotovýNebo změňte výraz skupiny na následující datový typ System. Int64 :
Funkce CLng (pole!<>. Vícehodnotový
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.
Odkazy
Další informace o datových typech najdete na následujících webech:
Obecné informace o struktuře "Decimal"
Obecné informace o struktuře "Int32"