web-dev-qa-db-fra.com

Crystal Report Issue avec IIS - (bobj n'est pas défini, le rapport Crystal ne s'affiche pas)

J'ai Crystal Report 2010 installé avec VS 2010.i a créé un rapport Crystal qui fonctionne bien dans l'hôte local, mais le problème est que, dès que je publie mon site Web sur IIS, le rapport n'est jamais affiché.Il suffit d'afficher une page vierge .i vérifié mon dossier publié même le fichier .rpt n’est pas là. Quelqu'un peut-il me dire comment résoudre ce problème? 

18
chamara

Solution

La solution consiste à travailler sur IIS de cette façon:

  • Copiez le dossier aspnet_client] du dossier c:\inetpub\wwwroot vers le nouveau dossier racine du site Web.

ou (le premier est plus facile, le second est meilleur pour la maintenance)

  • Créez un répertoire virtuel appelé aspnet_client qui pointe sur c:\inetpub\wwwroot\aspnet_clientà l'intérieur du nouveau site Web

Analyse du problème

Il est possible d'analyser le problème

  • using outils client (fenêtre de débogage du navigateur)

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)

  • ou outil serveur (le journal IIS, sur WIN2003, est placé dans %SYSTEMROOT%\System32\LogFiles\W3SVC###\ sur 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; +; +; MSIE + 9.0; +; Windows + NT + 6.1; + Trident/5.0) 403 6 64 Errore!

Cause le problème

Le runtime de Crystal Reports est installé, mais votre application ne s'exécute pas sous le site Web par défaut.

  • Dans les deux cas, j'ai trouvé que crv.js et style.css certains fichiers n'étaient pas servis;
  • ces fichiers sont placés par le programme d'installation CR dans le dossier wwwroot\aspnet_client, mais pour certaines raisons, ils ne sont pas accessibles.
  • Dans mon cas, la raison est que je crée un le site Web différent (port 20080) et le dossier aspnet_client ne sont pas placés à l'intérieur de ce site

Je peux voir que vous utilisez différentes versions de logiciels et différentes configurations, mais je pense que vous avez le même problème.

32
Emanuele Greco

Ce problème était difficile à résoudre pour moi.

Ma configuration est VS 2010, version CR 14.0.2000.0, Windows Server 2008 R2, IIS 7 . J'ai la solution. J'ai essayé presque toutes les solutions données en net. Et j'ai mis en œuvre tous les trucs. Enfin le rapport affiché en commentant la ligne ci-dessous dans web.config.

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

Maintenant, je supprime un par un ce que j’ai installé et vérifie quelles sont exactement les tâches requises.

J'ai tout essayé en dessous:

  • CR Runtime installé pour CRRuntime_32bit_13_0_4 et CRRuntime_64bit_13_0_4.
  • Plus tard, j'ai supprimé CRRuntime_32bit_13_0_4 mais cela fonctionne toujours.
  • Placé le dossier aspnet_client dans le dossier WWWRoot.
  • Placé le dossier aspnet_client dans le dossier de mon application.

Redémarré IIS chaque fois que j'ai fait quelque chose.

3
Antony

La meilleure réponse à cette question est ici!

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

  1. Vous devez utiliser Web Application Project, pas de projet Web, car Web App combinera DLL pour projeter également.
  2. Copiez C:\inetpub\wwwroot\aspnet_client\system_web\4_0_30319\crystalreportviewers13 (vous l'aurez lorsque vous installerez -CRforVS_redist_install_32bit_13_0.exe) dans votre projet tel que ((Nom du projet/crystalreportviewers13)

  3. copier ceci ci-dessous sur votre 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 Publiez votre application Web avec le mode FTP dans un dossier quelconque et copiez-la sur votre serveur Web, puis testez-la!

3
rochasdv

Une des raisons incroyablement simples que cela se produit est également que le serveur n'est pas configuré correctement, ce qui signifie que le contenu statique n'est pas activé dans les fonctionnalités HTTP communes sous les fonctions de serveur/fonctionnalités Windows.

 Enabling Static content

1
reckface

Un scénario possible est que le site Web du serveur IIS ne soit pas configuré par défaut sur C:\inetpub\wwwroot car c'est là que Crystal installe par défaut ses fichiers d'application dans le dossier aspnet_client\system_web\4_0_30319\crystalreportviewers13.

Donc, une réponse possible est de définir le chemin physique du site Web sur c:\inetpub\wwwroot

0
Allan

Cela peut simplement résoudre le problème si vous copiez votre dossier aspnet_client de C:\inetpub\wwwroot dans le dossier de votre site Web nouvellement créé. Par exemple, si le nom de votre site Web est TestWebsite, placez le dossier aspnet_client dans le dossier TestWebsite. Vous n'avez pas besoin de modifier la configuration dans web.config

0
Fahad Mahmood

Une autre chose que vous pouvez faire est de changer le "chemin d'accès virtuel". Après avoir vérifié la vue de la console et du réseau de Chrome, j'ai constaté que les applications n'atteignaient pas les ressources js et css, car elles étaient définies avec le nom du projet Web. Définissez donc ceci sur /.

0
Ivan Trujillo

Voici la solution qui a fonctionné pour moi après des heures de frustration (faites ceci après vous être assuré que la copie de dossiers telle que recommandée par d’autres ne fonctionnait pas ..):

Scénario: CrystalReportsViewer affiche un écran de navigateur vide (aucune visionneuse ni aucune page de rapport vierge) La source de la vue affiche tout le contenu du rapport avec le code de la visionneuse Le navigateur peut ou non afficher un bobj est une erreur indéfinie

Test: Parcourez le dossier http://<server name>/aspnet_client/system_web/4_0_30319/crystalreportviewers13/images/buttonl.gif - Si vous ne pouvez pas voir les images, le problème est identique à celui auquel fait face crystalreportsviewer lors de l'affichage des rapports.

IIS Paramètres à modifier: Développez les dossiers de votre site Web dans IIS (7.0 ou version ultérieure) Sélectionnez le dossier "aspnet_client" Sélectionnez "Authentification" dans le répertoire. page principale (Vue Fonctions) Sélectionnez "Accès anonyme" et activez-le à l'aide du menu Actions dans le volet de droite (ceci est uniquement à des fins de test, vous pouvez le désactiver plus tard) Sélectionnez "Mappages de gestionnaires" dans l'écran principal. volet (affichage Fonctions) Dans le menu "Actions" du volet de droiteCliquez sur "Revenir à l'héritage" Accepter pour revenir à l'invite de confirmation.

Testez à nouveau: Parcourez le dossier http: ///aspnet_client/system_web/4_0_30319/crystalreportviewers13/images/buttonl.gif - si vous souhaitez que l'image corrige votre rapport.

Au moins, je ne trouvais cette solution documentée nulle part.

Remarque: N'oubliez pas de désactiver l'accès anonyme au dossier aspnet_client dans IIS si vous l'aviez fait pour tester (comme indiqué ci-dessus).

0
user836107

je sais que ceci est un peu un peu ancien, mais je pense que les novis comme moi peuvent obtenir de l'aide. ajoutez ce code à votre fichier web.config et copiez le dossier "crystalreportviewers13" de "c:\inetpub\wwwroot\aspnet_client" dans votre répertoire racine.

<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>
0
Omar Sohel

Je faisais également face au même problème, je l'ai résolu. Lorsque le site Web est hébergé via IIS, Web.config doit avoir le paramètre ci-dessous:

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

Lorsque le site Web est hébergé via Visual Studio, puis 

    <add key="ResourceUri" value="/crystalreportviewers13"/>
0
Nagesh Hugar

Dans mon cas, je venais de mettre à jour SAP Crystal Reports Runtime Engine pour .NET Via des applications et des fonctionnalités, j’utilisais Crystal Report version 18 sur mon serveur de développement. vérifié la version Je n'ai pas eu la version, seulement j'ai la date d'installation, donc j'ai mis à jour la dernière version ... et ça a fonctionné

0
Zakaria Abdalla

Réglage 

<compilation debug="false">

dans web.config a fonctionné pour moi.

0
xtds

Je l’ai finalement obtenu comme expliqué ci-dessous, en version ancienne et fixe, car sur mon serveur de développement, j’ai besoin de "~", ce qui n’est pas le cas sur le serveur de développement. le vieux : 

un fixe: 

0
Mo Ibrahim

Je sais que cela a été demandé il y a quelques années. Mais cette méthode a fonctionné pour moi. Ceci est destiné aux personnes qui rencontreront un jour ce genre de problème.

J'ai créé mon application dans un environnement 32 bits et je suis passé à 64 bits. J'ai déployé mon application Web sur le serveur Web IIS (64 bits actuel) et créé mon propre pool d'applications (le mode "gérer le pipeline" étant intégré).

Puis, lorsque ce problème de rapport s'est produit, j'ai suivi les instructions du lien. J'ai changé le "mode pipeline" en classic et mon application a fonctionné.

0
Flash3

Ajoutez le code ci-dessous dans le fichier aspx où il existe un rapport Crystal.

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

Copiez également le dossier aspnet_client du dossier c:\inetpub\wwwroot dans le nouveau dossier racine du site Web.

Cette méthode résout ci-dessous deux problèmes, maintenant fonctionne bien

  1. bobj est indéfini.
  2. Le rapport de cristal ne s'affiche pas.
0
SUHAIL AG

Commencez par publier manuellement les fichiers .pt dans votre dossier sur le serveur. Si cela fonctionne, alors c'est simplement un problème de déploiement. Essayez de vous assurer que l’action de compilation du fichier lorsque vous cliquez dessus est "Contenu". Essayez de voir si vous allez un peu plus loin.

0