Sospecho que parte de lo que está sucediendo puede ser una de tres cosas: latencia de red entre el informe y la base de datos, problemas de memoria, problemas de espacio en disco. Otra cosa que podría estar ocurriendo es que quizás estés utilizando un controlador de SQL Server más antiguo. Dependiendo de la versión de la base de datos a la que te estás conectando, necesitarás la versión 10.0 o 11.0 del Cliente Nativo de SQL Server para obtener los mejores resultados.
Parte del truco al tratar con grandes cantidades de datos en Crystal es enviar tanto como sea posible a la base de datos. De lo contrario, el procesamiento normal de Crystal puede sobrecargar la memoria y el espacio en disco (realiza su propio intercambio a disco en lugar de utilizar el espacio de intercambio de Windows). Hay varias cosas que puedes hacer para ayudar con esto:
1. En Archivo>>Opciones, ve a la pestaña de Base de Datos y asegúrate de que estén marcadas tanto "Usar Índices o Servidor para Velocidad" como "Realizar Agrupación en el Servidor".
2. En el mismo lugar, desmarca "Verificar en el Primer Actualizar".
3. Si estás vinculando tablas, no uses fórmulas en el Experto de Selección. Esto incluye declaraciones If. Si tienes que usar una fórmula para, por ejemplo, obtener una subcadena, intenta codificarla en una Expresión SQL y luego úsala en el Experto de Selección.
4. Si tu informe muestra solo resúmenes (suma, máximo, etc.) y no los datos sin procesar, escribe un Comando (Declaración de Selección SQL) para proporcionar todos los datos para el informe; esto enviará los cálculos de resumen a la base de datos en lugar de que Crystal los calcule en memoria.
Además, cuando cierras Crystal cuando se cuelga, no limpia después de sí mismo: habrá archivos temporales potencialmente grandes en tu carpeta temporal que querrás eliminar. El formato del nombre del archivo será algo como ~*.rpt.
-Dell