Problemática
Se han suscitado en algunos proyectos en los que he estado involucrado diversos problemas relacionados a este tipo de instalación.
Como antecedentes y en específico, la aplicación es una Windows Application, esta desarrollada en VB NET (VS 2008) usando CR 8 con reportes que en su mayoría usan el controlador nativo de SQL server y su fuente de información en procedimientos almacenados (Stored procedures) desarrollador den T-SQL sobre la plataforma de base de datos SQL Server 2008.
La aplicación se ha instalado sobre diversos sistemas operativos(De 32 y 64 bits), que van desde Windows XP (Service pack 1), hasta Win 7.
La mayor cantidad de problemas han brotado sobre Windows vista y Windows 7 de 64 bits. El listado de problemas es tan extenso como variado y no será incluido explícitamente en esta publicación, pero por nombras las mas sobresalientes:
- Errores indeterminados en cuya descripción se nombre la palabra HRESULT.
- Errores nativos de Crystal Reports:
- 20599
- 20534
- 20537
- Errores de pre visualización:
- Se despliega el reporte en blanco
- Se intenta desplegar el reporte pero se queda inhibido (Pasmado)
- Se pre visualiza momentáneamente el reporte cerrándose fracciones de segundo después Efecto Blink (Parpadeo)
Recomendaciones
A continuación se listan las recomendaciones que me han llevado a solucionar la mayoría (Prácticamente la totalidad) de los errores reportados o detectados en este escenario:
- Lectura sucia masiva al inicio del procedimiento (SET TRANSACTION ISOLATION LEVEL READUNCOMMITTED)
- Conteo de filas apagado en procedimientos que arrojan mas de un resultado (SET NOCOUNT ON)
- Manejo explícito en tablas temporales de:
- Nulos
- Idioma (COLLATION)
- Tipo de dato
- Creación de tablas temporales explícitas [No crearlas al vuelo por medio de una consulta (INSERT - SELECT ó SELECT – INTO)]
- Manejo constante de la cantidad de atributos de salida, esto quiere decir que no cambie ni la cantidad, tipo o nombre de los atributos o campos de salida resultados del procedimiento.
- Entrar al menú inicio
- Seleccionar el acceso directo a la aplicación
- Dar clic derecho/ Propiedades
- Elegir en la pestaña de “Compatibilidad”
- Dar clic en el botón “Cambiar la configuración para todos los usuarios”
- En el agrupador “Modo de compatibilidad”, seleccionar “Ejecutar este programa en modo de compatibilidad” y seleccionar de la lista desplegable “Windows XP Service Pack 3”
- En el agrupador “Nivel de privilegio”, seleccionar “Ejecutar este programa como administrador” y dar clic en “Aceptar”
- Presionar nuevamente el comando “Aceptar” en el cuadro de dialogo de las propiedades
- Algunos problemas de pre visualización de reportes se solucionan Instalando CR8 completo en el cliente
Espero les sea de utilidad.