¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como otimizar o Crystal Reports para acessar grandes bases de dados no SQL Server

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 7 Vistas
0
Cargando...

Windows 7 Pro - SAP Crystal Reports 2016 Support Pack 2 Version 14.2.2.1975

Utilizo o Crystal para me conectar a uma base de dados hospedada remotamente no SQL Server. Algumas das tabelas às quais tenho acesso têm cerca de 2 milhões de linhas. Não consigo usar uma conexão ODBC porque, por alguma razão que ninguém consegue explicar, quando me conecto com ODBC muitos campos de dados desaparecem em várias tabelas. Isso não acontece com OLE. No entanto, com muita frequência, quando faço alterações em um relatório e às vezes com um novo relatório que visualizo ou atualizo, o Crystal começa a mostrar o número de registros que está lendo, e então o processo fica lento e eventualmente parece parar. Se eu clicar no botão de parar, geralmente recebo "Não está respondendo" na barra superior e clico no "X" para fechar e fecho o Crystal ou seleciono tentar restaurar o programa. Quando restaura, se tento atualizar, recebo mensagens de problemas de rede/conexão. Acredito que haja atrasos ou interrupções no fluxo de dados enquanto os registros estão sendo lidos e algo está esgotando o tempo ou não tentando novamente ou ???. Há uma série de "propriedades" listadas na segunda página das informações da Conexão OLE e não sei o que fazem. Estou pensando que modificar as propriedades pode ajudar. Não encontrei nada útil na ajuda ou em qualquer outro recurso que tenha tentado.

Anexo um trecho da informação na página de Informações Avançadas. A maioria dos relatórios é executada bem na maior parte do tempo. Os relatórios que se juntam às tabelas grandes são mais propensos a ter o problema. Escrevi cerca de 200 relatórios que acessam este banco de dados e os mais lentos são gerados em 5 minutos ou menos, a menos que fiquem lentos e parem. Não tenho tempo nem paciência para esperar e ver se o relatório é completado em mais de 10 minutos e nenhum dos usuários para os quais escrevo relatórios tem tempo para esperar por relatórios de geração lenta.

capture.jpg
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

1 Respuestas

0
Cargando...

Suspeito que parte do que está acontecendo pode ser uma de três coisas: latência de rede entre o relatório e o banco de dados, problemas de memória, problemas de espaço em disco. Outra coisa que pode estar ocorrendo é que talvez você esteja usando um driver do SQL Server mais antigo. Dependendo da versão do banco de dados ao qual você está se conectando, você precisará da versão 10.0 ou 11.0 do Cliente Nativo do SQL Server para obter os melhores resultados.

Uma parte do truque ao lidar com grandes quantidades de dados no Crystal é enviar o máximo possível para o banco de dados. Caso contrário, o processamento normal do Crystal pode sobrecarregar a memória e o espaço em disco (fazendo sua própria troca de disco em vez de usar o espaço de troca do Windows). Existem várias coisas que você pode fazer para ajudar com isso:

1. Em Arquivo>>Opções, vá para a aba de Banco de Dados e certifique-se de que tanto "Usar Índices ou Servidor para Velocidade" quanto "Realizar Agrupamento no Servidor" estejam marcados.

2. No mesmo local, desmarque "Verificar no Primeiro Atualizar".

3. Se estiver vinculando tabelas, não use fórmulas no Expert de Seleção. Isso inclui declarações If. Se precisar usar uma fórmula para, por exemplo, obter uma subcadeia, tente codificá-la em uma Expressão SQL e depois usá-la no Expert de Seleção.

4. Se seu relatório mostrar apenas resumos (soma, máximo, etc.) e não os dados brutos, escreva um Comando (Declaração de Seleção SQL) para fornecer todos os dados para o relatório; isso enviará os cálculos de resumo para o banco de dados em vez de o Crystal calculá-los na memória.

Além disso, ao fechar o Crystal quando ele trava, ele não faz uma limpeza adequada: pode haver arquivos temporários potencialmente grandes em sua pasta temporária que você vai querer excluir. O formato do nome do arquivo será algo como ~*.rpt.

-Dell

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?