visual tutorial studio reports reportes reporte net example crystal crear asp asp.net crystal-reports

asp.net - tutorial - Problema de informe de Crystal con IIS(bobj no está definido, no se muestra el informe de Crystal)



reportes en asp net (17)

Solución

La solución es trabajar en IIS de esta manera:

  • Copie la carpeta aspnet_client carpeta c:/inetpub/wwwroot a la nueva carpeta raíz del sitio web .

o (el primero es más fácil, el segundo es mejor para el mantenimiento)

  • Cree un directorio virtual llamado aspnet_client que apunte a c:/inetpub/wwwroot/aspnet_client dentro del nuevo sitio web

Análisis del problema

Es posible analizar el problema.

  • utilizando herramientas de cliente (ventana de depuración del navegador)

GET http://someserver:20080/aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/crv.js 403 (Forbidden)
GET http://someserver:20080/aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/images/style.css 403 (Forbidden)

  • o herramienta del servidor (el registro IIS, en WIN2003 se coloca en %SYSTEMROOT%/System32/LogFiles/W3SVC###/ en WIN2008 C:/inetpub/logs/LogFiles/W3SVC### ).

2011-03-28 13:00:49 W3SVC701536 95.228.38.41 GET /aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/images/style.css - 20080 - 192.168.1.2 Mozilla / 5.0 + (compatible; + MSIE + 9.0 ; + Windows + NT + 6.1; + Trident / 5.0) 403 6 64 Errore! 2011-03-28 13:00:49 W3SVC701536 95.228.38.41 GET /aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/crv.js - 20080 - 192.168.1.2 Mozilla / 5.0 + (compatible; + MSIE + 9.0; + Windows + NT + 6.1; + Trident / 5.0) 403 6 64 Errore!

Causa el problema

El tiempo de ejecución de Crystal Reports está instalado, pero su aplicación no se está ejecutando bajo el sitio web predeterminado.

  • En ambos casos encontré que crv.js y style.css algunos archivos no fueron servidos;
  • el instalador de CR coloca estos archivos en la carpeta wwwroot/aspnet_client , pero por alguna razón no se puede acceder a ellos;
  • En mi caso, la razón es que creo un sitio web diferente (puerto 20080) y la carpeta aspnet_client no se encuentra dentro de ese sitio web

Puedo ver que usas diferentes versiones de software y configuraciones diferentes, pero creo que tienes el mismo problema .

He instalado Crystal Report 2010 con VS 2010. He creado un informe de Crystal que funciona bien en el localhost, pero el problema es que una vez que publico mi sitio web en IIS, el informe nunca se muestra. Solo se muestra una página en blanco. Revisé mi carpeta publicada incluso el archivo .rpt no está allí. ¿Puede alguien decirme cómo resolver este problema?


¡La mejor respuesta para esta pregunta está aquí!

http://social.msdn.microsoft.com/Forums/en-US/vscrystalreports/thread/ef56f72b-7ede-47d8-ba9e-9e63b9ac0203

  1. Debe usar el Proyecto de aplicación web, Ningún proyecto de sitio web, ya que la aplicación web combinará DLL para proyectar también.
  2. Copie C: / inetpub / wwwroot / aspnet_client / system_web / 4_0_30319 / crystalreportviewers13 (lo obtendrá cuando instale -CRforVS_redist_install_32bit_13_0.exe) Para su proyecto como (ProjectName / crystalreportviewers13)

  3. Copia esto debajo de tu web.config

3.1

<configSections> <sectionGroup name="businessObjects"> <sectionGroup name="crystalReports"> <section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null" /> <section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" /> </sectionGroup> </sectionGroup> </configSections>

3.2

<businessObjects> <crystalReports> <rptBuildProvider> <add embedRptInResource="true" /> </rptBuildProvider> <crystalReportViewer> <add key="ResourceUri" value="/crystalreportviewers13" /> </crystalReportViewer> </crystalReports> </businessObjects>

3.4 Publique su aplicación web con el modo FTP en su carpeta, y copie esta publicación en su servidor web y luego PRUEBA!


Agregue el siguiente código en el archivo aspx donde existe el informe de Crystal.

<script src="../../aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/crv.js" type="text/javascript" > </script>

También copie la carpeta aspnet_client desde la carpeta c: / inetpub / wwwroot a la nueva carpeta raíz del sitio web.

Este método resuelve a continuación dos problemas, Ahora funciona bien

  1. Bobj no está definido.
  2. El informe de cristal no se muestra.


Ajuste

<compilation debug="false">

En web.config trabajé para mi.


Aquí está la solución que funcionó para mí después de horas de frustración (haga esto después de haberse asegurado de que copiar las carpetas como lo recomendaron otros no funcionó ...):

Escenario: CrystalReportsViewer muestra una pantalla de navegador en blanco (sin visor ni ninguna página de informes en blanco) La fuente de vista muestra el contenido del informe completo con el código del visor allí. El navegador puede o no mostrar un error.

Prueba: navegue por la carpeta http://<server name>/aspnet_client/system_web/4_0_30319/crystalreportviewers13/images/buttonl.gif - Si no puede ver las imágenes, entonces ese es el mismo problema al que se enfrenta Crystalreportsviewer al mostrar los informes.

Configuración de IIS para cambiar: Expanda las carpetas de su sitio web en IIS (7.0 o superior) Seleccione la carpeta "aspnet_client" Seleccione "Autenticación" en la página principal (Vista de características) Seleccione "Acceso anónimo" y Habilite usando el menú Acciones en el panel derecho (esto es solo para fines de prueba SOLAMENTE, puede deshabilitarlo más adelante) Seleccione "Asignaciones de manejador" en el panel principal (vista de Características) En el menú "Acciones" en el panel derecho Haga clic en "Revertir a heredado" Aceptar para revertir cuando se le solicite para confirmacion

Pruebe de nuevo: navegue por la carpeta http: ///aspnet_client/system_web/4_0_30319/crystalreportviewers13/images/buttonl.gif - si tiene la imagen, debería corregir el informe.

Al menos no pude encontrar esta solución documentada en ninguna parte ..

Nota: No olvide deshabilitar el acceso anónimo a la carpeta aspnet_client en IIS si lo hizo para probar (como se dijo anteriormente)


En mi caso, acabo de actualizar SAP crystal reports Runtime Engine para .NET a través de Aplicaciones y características, estaba usando Crystal Report versión 18 en mi servidor de desarrollo. Cuando implementé la aplicación en otro servidor, recibí este error y luego verifiqué la versión. No obtuve la versión, solo la fecha de instalación, así que actualicé a la última versión ... y funcionó


Este problema me fue difícil de resolver.

Mi configuración es VS 2010, versión CR 14.0.2000.0, Windows Server 2008 R2, IIS 7. Obtuve la solución. Probé casi todas las soluciones dadas en red. Y he implementado todos los trucos. Finalmente el informe se muestra comentando la línea de abajo en web.config.

<add key="ResourceUri" value="/crystalreportviewers13"></add>

Ahora estoy eliminando uno por uno que instalé y comprobando cuáles son exactamente las cosas que se requieren.

Intenté todo a continuación:

  • Tiempo de ejecución de CR instalado para CRRuntime_32bit_13_0_4 y CRRuntime_64bit_13_0_4.
  • Más tarde quité CRRuntime_32bit_13_0_4 todavía funciona.
  • Colocó la carpeta aspnet_client dentro de la carpeta WWWRoot.
  • Ubicé la carpeta aspnet_client dentro de mi carpeta de aplicación.

Reinicié IIS cuando alguna vez hice algo.


Finalmente lo obtuve como se explica a continuación, en la versión antigua y fija, porque en mi servidor de desarrollo necesito "~", que no es el caso en el servidor de desarrollo, aparte de que seguí el enlace con precisión. el viejo :

una fija


Otra cosa que puede hacer es cambiar la "ruta de acceso virtual". Después de revisar la consola y la vista de red de Chrome, noté que las aplicaciones no estaban llegando a los recursos js y css , ya que esto se configuró con el nombre del proyecto web, así que configúrelo en / y esto funcionó.


Primero publique manualmente los archivos rpt en su carpeta en el servidor. Si funciona, entonces es simplemente un problema de implementación. Trate de asegurarse de que la acción de compilación del archivo cuando haga clic en él sea "Contenido". Intenta que veas si vas un poco más lejos.


Sé que esto es un poco viejo pero creo que la novis como yo puede obtener ayuda de esto. agregue este código a su archivo web.config y copie la carpeta "crystalreportviewers13" de "c: / inetpub / wwwroot / aspnet_client" en su directorio raíz

<configSections> <sectionGroup name="businessObjects"> <sectionGroup name="crystalReports"> <section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null" /> <section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" /> </sectionGroup> </sectionGroup> </configSections> <businessObjects> <crystalReports> <rptBuildProvider> <add embedRptInResource="true" /> </rptBuildProvider> <crystalReportViewer> <add key="ResourceUri" value="/crystalreportviewers13" /> </crystalReportViewer> </crystalReports> </businessObjects>


Sé que fue preguntado hace algunos años. Pero este método funcionó para mí. Esto es para personas que algún día se encontrarán con este tipo de problema.

Creé mi aplicación en un entorno de 32 bits y cambié a 64 bits. Desplegué mi aplicación web en el servidor web IIS (actual de 64 bits) y creé mi propio grupo de aplicaciones (con el "modo de gestión de tuberías" integrado).

Luego, cuando ocurrió este problema de informe, seguí las instrucciones del enlace. Cambié el "modo de gestión de tuberías" a clásico y mi aplicación funcionó.


Simplemente puede resolver el problema si copia su carpeta aspnet_client desde C: / inetpub / wwwroot a la carpeta de su sitio web recién creado. Por ejemplo, si el nombre de su sitio web es TestWebsite, coloque la carpeta aspnet_client dentro de la carpeta TestWebsite. No es necesario realizar cambios de configuración en web.config


También estaba enfrentando el mismo problema, lo resolví. cuando el sitio web está alojado a través de IIS, entonces Web.config debe tener la siguiente configuración:

<add key="ResourceUri" value="~/crystalreportviewers13"/>

Cuando el sitio web a través está alojado a través de Visual Studio entonces

<add key="ResourceUri" value="/crystalreportviewers13"/>


Un posible escenario es que el sitio web del servidor IIS no esté predeterminado en C: / inetpub / wwwroot, ya que aquí es donde Crystal instala de forma predeterminada sus archivos de aplicación en la carpeta aspnet_client / system_web / 4_0_30319 / crystalreportviewers13.

Por lo tanto, una posible respuesta es establecer la ruta física del sitio web en c: / inetpub / wwwroot


Una de las razones increíblemente simples por las que esto ocurre también es que el servidor no está configurado correctamente, lo que significa que el contenido estático no está habilitado en las funciones HTTP comunes en las funciones de servidor / Windows.