Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2008 R2 как один файл для загрузки. Поскольку исправления являются кумулятивными, каждый новый выпуск содержит все исправления и исправления для системы безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008 R2.
Проблемы
Рассмотрим следующий сценарий.
-
У вас есть файл языка определения отчетов (RDL), содержащий элемент управления табликса в службах Microsoft SQL Server 2008 R2 Reporting Services.
-
Вы добавляете в элемент управления табликса группу строк или столбцов, а затем устанавливаете выражение группы для данных группы, используя столбец с числовым типом данных.
-
Этот столбец содержит значение, которое не входит в диапазон типа данных Int32 . Например, значение столбца — 9000001777400270.
В этом случае при попытке создать отчет появляется следующее сообщение об ошибке:
При локальной обработке отчета произошла ошибка. Произошла ошибка при обработке отчета. Значение было недопустимо малым или недопустимо большим для Int32.
Решение
Сведения о накопительном пакете обновления
SQL Server 2008 R2
Исправление для этой проблемы впервые выпущено в накопительном обновлении 4. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2, щелкните следующий номер статьи базы знаний Майкрософт:
2345451 Накопительный пакет обновления 4 для SQL Server 2008 R2 Примечание. Поскольку сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008 R2. Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
981356 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2
Обходное решение
Для решения этой проблемы преобразуйте числовой тип данных в тип данных Double или Int64 . Для этого выполните следующие действия:
-
Дважды щелкните группу в области группы строк или группы столбцов , чтобы открыть свойства группы .
-
На вкладке Общие измените выражение Group на следующее выражение типа данных System. Double :
CDbl (Fields!<имя поля>. ЗначениеВы также можете изменить выражение группы на следующий тип данных System. Int64 :
CLng (Fields!<имя поля>. Значение
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Ссылки
Для получения дополнительных сведений о типах данных посетите следующие веб-сайты:
Общие сведения о структуре "Decimal"
Общие сведения о структуре "Int32"