Geração de Relatório - Crystal Reports

.NET

24/01/2012

Boa noite a todos.

Tenho uma aplicação web que gera relatórios com Crystal Reports (PDF e DOC) atraves de Storeds Procedures (SQL Server 2005).
Quando um usuário solicita a geração de um relatório muito grande (o que não é raro), meu servidor não suporta e acaba travando os processos, tendo seu grafico de processamento indo a 100%. Diante disso, alem de não gerar o relatório solicitado pelo usuário, trava a geração de qualquer outro relatório do sistema, por menor que ele seja. Isso só é resolvido quando matamos o processo manualmente e muitas vezes temos que reiniciar o SQL Server.
É fato que existe um grande gargalo no meu servidor, mas como não conseguirei resolver esse problema por agora, gostaria de saber se existe alguma forma de calcular o tamanho do relatório antes do inicio da sua geração, afim de impedir geração acima de uma determinada faixa de tamanho. Tambem gostaria de saber se existe a possibilidade de barra a geração de um relatorio se o mesmo ja estiver sendo processado.

Meus relatorios são gerados da seguinte maneira: tenho um .exe que é executado pela aplicação e ele trata de gerenciar a geração do relatorio, que fica encapsulado em uma DLL, ate a sua finalização.



Desde já agradeço pela ajuda!
Thomás Moreira

Thomás Moreira

Curtidas 0

Respostas

Fabiana Souza

Fabiana Souza

24/01/2012


Certa vez uma aplicação desktop estava apresentando o mesmo problema, e ao colocar WITH(NOLOCK) nas tabelas e criando uma tabela temporária consegui ganhar performance na procedure em SQL2008.


Este link é interessante, Como usar SELECT WITH NOLOCK para melhorar a Performance?
http://blogs.msdn.com/b/fcatae/archive/2010/10/05/como-usar-select-with-nolock-para-melhorar-a-performance.aspx
GOSTEI 0
Fabiana Souza

Fabiana Souza

24/01/2012


Certa vez uma aplicação desktop estava apresentando o mesmo problema, e ao colocar WITH(NOLOCK) nas tabelas e criando uma tabela temporária consegui ganhar performance na procedure em SQL2008.


Este link é interessante, Como usar SELECT WITH NOLOCK para melhorar a Performance?
http://blogs.msdn.com/b/fcatae/archive/2010/10/05/como-usar-select-with-nolock-para-melhorar-a-performance.aspx
GOSTEI 0
Thomás Moreira

Thomás Moreira

24/01/2012

Obrigado pelo resposta Fabiana.

Vou verificar o blog indicado.
GOSTEI 0
POSTAR