КОРЕКЦИЯ: "System.OverflowException: стойността е твърде голяма или твърде малка за типа Int32" съобщение за грешка се появява при опит за генериране на отчет в Microsoft SQL Server 2008 R2 Reporting Services

Прилага се за: SQL Server 2008 R2

Microsoft разпространява корекциите за Microsoft SQL Server 2008 R2 като един файл за изтегляне. Тъй като корекциите са сборни, всяка нова версия съдържа всички актуални корекции и всички корекции на защитата, които са били включени в предишните SQL Server 2008 R2 fix съобщение.

Симптоми


Да разгледаме следния сценарий:
  • Имате отчет дефиниция език (ЛОРП) файл, който съдържа Tablix контрола в Microsoft SQL Server 2008 R2 Reporting Services.
  • Добавяте група ред или колона група Tablix контрол и след това задайте група израз за групиране на данни чрез колона със запетая.
  • Тази колона съдържа стойност, която не е в диапазона от типа Int32 данни. Например стойността на колоната е 9000001777400270.
При този сценарий получавате следното съобщение за грешка при опит за генериране на отчет:
Възникна грешка при обработка на локални отчет. Възникна грешка по време на обработването на отчета. Стойността е твърде голяма или твърде малка за типа Int32.

Решение


Информация за сборна актуализация

SQL Server 2008 R2

Решение за този проблем излезе първо в сборна актуализация 4. За повече информация как да получите този Сборен пакет за SQL Server 2008 R2, щракнете върху следния номер на статия в базата знания на Microsoft:
2345451 Кумулативен пакет за актуализация 4 за SQL Server 2008 R2
Забележка Тъй като компилациите са сборни, всяка нова версия на корекцията съдържа всички актуални корекции и всички корекции на защитата, които са били включени в предишните SQL Server 2008 R2 fix съобщение. Препоръчително е да приложите най-новата версия на корекцията, който ще съдържа тази корекция. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:
981356 SQL Server 2008 R2 компилации, издадени след издаването на SQL Server 2008 R2

Заобиколно решение


За да заобиколите този проблем, конвертиране запетая Двойна тип данни или Int64 тип данни. Изпълнете следните инструкции:
  1. Щракнете двукратно върху групата в прозореца Ред или Колона групи да отворите свойствата на групата .
  2. В раздела Общи променете група израз на System.Double данни въведете израза:
    CDbl(Fields! < име на полето >. Стойност)
    Или промяна на група израз следните System.Int64 тип данни:
    CLng(Fields! < име на полето >. Стойност)

Статус


Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".