lunes, 4 de marzo de 2013

Error "No se ha podido cargar el informe" en Crystal Reports para VS2010


Hemos tenido este error al cambiar una aplicación a un servidor recién instalado:

 No se ha podido cargar el informe.
   at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()
   at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob)
   at CrystalDecisions.CrystalReports.Engine.ReportClass.Load(String reportName, OpenReportMethod openMethod, Int16 parentJob)
   at CrystalDecisions.CrystalReports.Engine.ReportDocument.EnsureLoadReport()
   at CrystalDecisions.CrystalReports.Engine.ReportDocument.get_FormatEngine()
   at CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToStream(ExportOptions options)
   at CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToStream(ExportFormatType formatType)
   at BL.BL_InformeCaratula.DameInforme(String vista, CErrores& errores, String[] param) in ………

El servidor estaba recién instalado, con su base de datos restaurada,  su Framework 4.0, su Runtime de Crystal Reports, la aplicación publicada en el IIS, todo parecía correcto, … pero seguía dando error.

Lo único que habíamos cambiado de una instalación estándar era el usuario de suplantación ASP.NET en el IIS, que no era el típico IUSR_XX, sino un usuario de dominio.

Ahí estaba el problema.

Cuando hacemos la instrucción Informe. SetDataSource(ds), el Crystal Reports crea un report en el directorio temporal. Al cambiar el usuario del IIS, ya no tenía permisos en la carpeta c:/ Windows /Temp.

Solución: dar permisos al usuario del IIS en c:/Windows / Temp.

Saludos

3 comentarios:

Anónimo dijo...

llevaba 15 dias trabajando en el tema, haciendo todo lo que dicen los foros y la unica solucion real fue hacer lo siguiente:
en el reporte, en modo diseño, click derecho, en configurar pagina quitar el check ajustar automaticamente, y quitar ajustar a cuadricula. guardar cambios y reeemplazar el reporte. mi ambiente es win server 2008, .net 2008(servicio web asmx), crystal reports 2008.

Andres Isaza

Oscar Benavides dijo...

Tenía el mismo error y coincido un poco con el ultimo comentario del 19 de Noviembre de 2013, mi problema era que en el equipo de desarrollo donde hice los informes y la aplicacion en visual studio 2010 me corrian bien los tres reportes de crystal reports pero en la maquina cliente no me corrian sino dos (2), la razón era que el último informe tenía orientacion horizontal me toco ponerla en vertical como viene originalmente y listo, es un error muy tonto de Crystal Reports, y casi me saca canas. Aun tengo otros problemas en una máquina de 64 bits donde finalmente debe correr pero estoy en eso. Muchos compliques esto de Crystal Reports. Espero les sirva la información.

Anónimo dijo...

A mi lo que me funciono fue agregar a los permisos de mi proyecto los usuarios IUSR Y LOCAL SERVICE.