SQL Server Reporting Services 2012 – An error occurred during rendering of the report.Mail will not be resent

Fazem poucos dias migrei um de nossos servidores para SQL Server 2012 e com ele também o serviço do SQL Server Reporting Services.

Após a migração um dos relatórios configurado com assinatura começou a apresentar problemas, não enviando os e-mails com o relatório. Ao investigar, vi que o relatório apresentava a seguinte mensagem

“An error occurred during rendering of the report.Mail will not be resent”

Ao consultar os logs do SSRS, vi que apresentava o seguinte status “rrRenderingError”.

Esse relatório no servidor antigo, em SQL Server 2005, renderizava em formato Excel 2003 (o único disponível), mas após a migração alteramos para renderizar em Excel 2010 para aproveitar o formato .xlsx e diminuir o tamanho das planilhas, que são um pouco grandes. Logo de início desconfiei que se tratava de algo relativo ao novo formato.

Para complicar um pouco a análise, vi que outros relatórios idênticos que são enviados para outras filiais estavam sendo enviados normalmente, e eles também estão agora configurados para o formato Excel 2010.

Analisando com um pouco mais de calma vi que os relatórios que estavam apresentando problemas são exatamente os da filial com maior número de linhas na planilha, então resolvi fazer um teste e tentar a renderização em Excel 2003.

Dai percebo que o formato Excel 2003 não está mais disponível como formato de renderização na configuração da assinatura, mesmo tendo certeza que após a migração os relatórios estavam configurados para tal formato, ou seja, após configurar para Excel 2010 (é listado apenas como Excel, e o Excel 2003 como Excel 2003 mesmo) o formato Excel 2003 não é mais listado.

Ao pesquisar vi que o formato Excel 2003 está como DEPRECATED e por isso não é mais listado por padrão. Ao pesquisar encontrei o link abaixo que explica o procedimento para que o RS exiba o formato antigo:

http://msdn.microsoft.com/en-us/library/dd255234.aspx

Basicamente o que temos que fazer é alterar o arquivo RSReportServer.config (e o RSReportDesigner.config caso também queira alterar para o Report Designer), configurando o formato Excel 2003 como visível.

Veja abaixo como você provavelmente irá encontrar no seu arquivo antes da alteração

<Extension Name=”EXCELOPENXML” Type=”Microsoft.ReportingServices.Rendering.ExcelOpenXmlRenderer.ExcelOpenXmlRenderer,Microsoft.ReportingServices.ExcelRendering”/>

<Extension Name=”EXCEL” Type=”Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microsoft.ReportingServices.ExcelRendering” Visible=”false”/>

Nesse caso basta você alterar o parâmetro Visible para true.

Com o parâmetro agora visível, podemos então alterar o relatório, o que no meu caso resolveu temporariamente o problema até que eu entenda porque o formato Excel (2010) quando o relatório tem um número razoável de linhas (no meu caso, mais de 30 mil) gera erro.

Esse post foi publicado em Artigos, Virtual PASS BR. Bookmark o link permanente.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s