KB2359606-FIX: "System. OverflowException: valor demasiado grande o demasiado pequeño para un mensaje de error Int32" al intentar generar un informe en Microsoft SQL Server 2008 R2 Reporting Services

Se aplica: SQL Server 2008 R2

Microsoft distribuye las soluciones de Microsoft SQL Server 2008 R2 como un archivo que se puede descargar. Debido a que las correcciones son acumulativas, cada versión nueva contiene todas las revisiones y todas las revisiones de seguridad incluidas en la versión anterior de SQL Server 2008 R2.

Síntomas


Imagine la siguiente situación:
  • Tiene un archivo de lenguaje de definición de informes (RDL) que contiene un control Tablix en Microsoft SQL Server 2008 R2 Reporting Services.
  • Agregue un grupo de filas o un grupo de columnas al control Tablix y, a continuación, establezca una expresión de grupo en los datos del grupo usando una columna que tenga un tipo de datos numérico.
  • Esta columna contiene un valor que no se encuentra en el intervalo del tipo de datos Int32 . Por ejemplo, un valor de la columna es 9000001777400270.
En este caso, recibirá el siguiente mensaje de error al intentar generar el informe:
Se produjo un error durante el procesamiento local de informes. Se produjo un error durante el procesamiento del informe. Valor demasiado grande o demasiado pequeño para un Int32.

Resolución


Información sobre la actualización acumulativa

SQL Server 2008 R2

La corrección para este problema se publicó por primera vez en la actualización acumulativa 4. Para obtener más información sobre cómo obtener este paquete de actualización acumulativa para SQL Server 2008 R2, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2345451 Paquete de actualización acumulativa 4 para SQL Server 2008 R2
Nota Como las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y todas las revisiones de seguridad incluidas en la versión anterior de corrección de SQL Server 2008 R2. Le recomendamos que considere la posibilidad de aplicar la versión de corrección más reciente que contenga este Hotfix. Si desea obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
981356 Las compilaciones de SQL Server 2008 R2 que se lanzaron después de publicar SQL Server 2008 R2

Solución alternativa


Para evitar este problema, convierta el tipo de datos numérico en el tipo de datos dobles o en el tipo de datos Int64 . Para ello, siga estos pasos:
  1. Haga doble clic en el grupo en el panel de grupos de filas o de grupos de columnas para abrir las propiedades del Grupo .
  2. En la pestaña General , cambie la expresión de grupo a la siguiente expresión de tipo de datos System. Double :
    CDbl (Fields!<nombre del campo>. Eje
    También puede cambiar la expresión de grupo al siguiente tipo de datos System. Int64 :
    CLng (Fields!<nombre del campo>. Eje

Estado


Microsoft ha confirmado que se trata de un problema de los productos de Microsoft recogidos en la sección "Se aplica a".