2010-11-28 84 views
16

Estoy tratando de ejecutar un informe de cristal de mi aplicación web que fue construido con ASP.NET 4.0 y Visual Studio 2010. He instalado lo siguiente desde el sitio de SAP (http://www.businessobjects.com/jump/xi/crvs2010/us2_default.asp)Crystal Reports para Visual Studio 2010 Error

1) SAP Crystal Reports, versión para Visual Studio 2010 - paquete de instalación EXE estándar que instala el software en el IDE de Visual Studio.

2) del motor de tiempo de ejecución SAP Crystal Reports para .NET Framework 4 (64-bit)

tengo una página llamada Reports.aspx en el que tengo un control de visor de informes de cristal

<CR:CrystalReportViewer ID="rptViewer" runat="server" AutoDataBind="true" /> 

En el archivo Reports.aspx.cs tengo el siguiente código:

protected override void OnPreRender(EventArgs e) 
{ 
    ReportDocument report = new ReportDocument(); 
    var path = Server.MapPath("Reports/Sample.rpt"); 
    report.Load(path); 
    report.SetDatabaseLogon("username", "password", "servername", "databasename"); 
    rptViewer.ReportSource = report; 
} 

En la línea report.Load (ruta) me sale el siguiente error: 0

Funcionamiento no admitido. Un documento procesado por el motor del JRC no se puede abrir en la pila de C++.

¿Cómo puedo solucionar esto?

Respuesta

10

asegúrese de que el informe esté en la carpeta app_code inicialice una nueva instancia en lugar de inicializar un informe y cargar el informe en él.

Sample report = new Sample(); 

esto funcionó para mí

13

También me dio en el mismo problema que mi problema era ruta informe no era válido, puede ser que usted tiene el mismo problema, compruebe Server.MapPath ("Informes/Sample.rpt") devolviendo un camino válido?

+1

Gracias por su respuesta. Me acaba de encontrar con el mismo problema. ¡No se me pasó por la mente comprobar que los archivos del informe estuvieran realmente allí! D'oh! Los atributos en los archivos de informe estaban configurados para copiar = no copiar, por lo que la compilación automatizada no los enviaba. – Anthony

+0

+1 Si el archivo de informe no está allí, puede tener este problema, como lo hice –

+0

@Priyan R - - Parece que tiene un buen manejo de esto. ¿Podrías ayudarme con este [enlace] http://stackoverflow.com/questions/22671709/asp-crystalreportviewer-will-not-display-report – ArtK

3

Me encontré con esto cuando convertí un sitio web a una aplicación web. El informe funcionaría bien en mi máquina de desarrollo, pero no en el servidor. Entonces me di cuenta de que el archivo rpt estaba faltando en el servidor.

De manera predeterminada, los archivos de informe se consideraron recursos incrustados y no se copiaron cuando se publicó la aplicación web. Simplemente los cambié individualmente, volví a publicar el sitio y todo estuvo bien nuevamente.

0

Asegúrese de que los archivos rpt del informe estén en su carpeta original. Primero recibí el mismo error después de "publicar" mi sitio web de MVC en IIS. No me di cuenta de que "Publicar" no incluía archivos rpt en el paquete.

2

También he tenido un error de carga de informe si por error dejé abierto el informe en el diseñador de informes de cristal.

5

NOTA: A continuación, el término "Sitio web" se refiere a los nodos reales del sitio web en IIS, NO a un directorio virtual dentro de un sitio web.

Problema Causa Raíz: La aplicación no tiene acceso a la carpeta "aspnet_client".
Esto puede ocurrir por varias razones:

  1. Desde el instalador SAP CR aparece para instalar la carpeta aspnet_client en el wwwroot \ ... \ inetpub \, si su ruta física del Sitio Web no es ...\ inetpub \ wwwroot, su aplicación no tendrá acceso a la carpeta aspnet_client.
  2. Si la carpeta aspnet_client se movió o borró desde el nivel superior de la ruta física de su sitio web, su aplicación IIS no tendrá acceso a la carpeta.

Problema Solución (Para Windows Server 2008 R2)

  1. ir al administrador de IIS en el servidor de
  2. Expandir el nodo de vista de árbol de la página web se ejecuta la aplicación
  3. Mira el nivel inmediatamente debajo del nodo del sitio web y asegúrese de ver una carpeta "aspnet_client".
  4. Si ve la carpeta, tal vez esta causa raíz no sea la causa de su problema.
  5. Si NO ve la carpeta, busque el disco duro del servidor y COPIE en la ruta física del sitio web.
  6. Haga clic en el nodo del sitio web y haga clic en Actualizar en el menú emergente Menú
  7. Ahora debería ver la carpeta aspnet_client en el nivel directamente debajo del nodo del sitio web y los informes en la aplicación deberían funcionar.
2

Este error es un verdadero placer, y parece tener muchos antecedentes posibles. Afortunadamente, solo desperdicié un día en mi variación particular:

ReportDocument.Load() también hace una copia temporal local. (Esto puede ser solo en el caso de una carga desde una ubicación de la unidad de red, no probé esto en el caso de una carga local.)

Si el contexto de usuario bajo el cual ocurre la carga no tiene autoridad para cree el archivo temporal localmente, Load fallará con el mismo error muy poco útil.


Además, terminé con el diagnóstico de esta Process Monitor. Puede ser útil para usted también.

5

Usted tendrá que modificar dos propiedades en los archivos .rpt:

  1. Acción de generación se establece en "Recurso incrustado" por defecto. Cámbielo a "Contenido".
  2. Copiar a la salida se establece en "No copiar" de manera predeterminada. Cámbielo a "Copie siempre".

Reconstruir, generar paquete de despliegue y publicar. ¡Hecho!

+0

No creo que quieras ** Copiar siempre ** durante la publicación, pero sí ** Build Action ** to ** Content ** funciona como un amuleto – irfandar

+0

@irfandar cool. Envíe por favor "si cree que esta respuesta es útil" – aleafonso

0
  1. Vuelva a instalar el "motor de informes de Crystal" al servidor

  2. Acción de generación ajustado a "contenido".

¡Funcionó perfectamente para mí ..!

+2

El enlace que proporcionó fue simplemente la página de inicio de su blog. No incluya enlaces como ese en sus respuestas, o sus respuestas podrían eliminarse como correo no deseado. Puede usar su perfil para vincularlo a su sitio. –

Cuestiones relacionadas