A Microsoft distribui as correções R2 do Microsoft SQL Server 2008 como um ficheiro transferível. Como as correções são cumulativas, cada nova versão contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior lançamento de correção de R2008 do SQL Server 2008.
Sintomas
Considere o seguinte cenário:
-
Tem um ficheiro De Definição de Relatório (RDL) que contém um controlo Tablix nos Serviços de Relatório R2008 do Microsoft SQL Server 2008.
-
Adicione um grupo de linha ou um grupo de colunas ao controlo Tablix e, em seguida, deciuse uma expressão de grupo aos dados do grupo utilizando uma coluna que tenha um tipo de dado numérico.
-
Esta coluna contém um valor que não está na gama do tipo de dados Int32. Por exemplo, o valor da coluna é 9000001777400270.
Neste cenário, recebe a seguinte mensagem de erro quando tenta gerar o relatório:
Ocorreu um erro durante o processamento do relatório local. Ocorreu um erro durante o processamento do relatório. O valor era demasiado grande ou demasiado pequeno para um Int32.
Resolução
Informação de atualização cumulativa
SQL Server 2008 R2
A correção para este problema foi lançada pela primeira vez na Atualização Cumulativa 4. Para obter mais informações sobre como obter este pacote de atualização cumulativa para SQL Server 2008 R2, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:
2345451 Pacote de atualização cumulativa 4 para SQL Server 2008 R2 Nota Como as construções são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior lançamento de correção R2008 do SQL Server 2008. Recomendamos que considere aplicar o mais recente lançamento de correção que contém este hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:
981356 O SQL Server 2008 R2 constrói que foram lançados após o lançamento do SQL Server 2008 R2
Solução
Para contornar esta questão, converta o tipo de dados numérico para o tipo de dados Duplo ou para o tipo de dados Int64. Para tal, siga estes passos:
-
Clique duas vezes no painel grupo de grupos de linha ou grupos de colunas para abrir as propriedades do Grupo.
-
No separador Geral, altere a expressão de grupo para o seguinte Sistema.Expressão tipo de dado duplo:
CDbl (Fields!<>de Nome de Campo . Valor)Ou, altere a expressão de grupo para o seguinte tipo de dados System.Int64:
CLng (Fields!<Name>. Valor)
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".
Referências
Para obter mais informações sobre os tipos de dados, visite os seguintes websites:
Informação geral sobre a estrutura "Decimal"
Informação geral sobre a estrutura "Int32"