J'ai un projet d'application Windows (C # et .NET 2.0) qui a utilisé Crystal Report 2008. Mais je reçois une erreur parfois (cela semble accidentellement) dans le rapport de chargement. Cette erreur est la suivante: veuillez me guider. Comment puis-je résoudre ce problème? P> p>
7 Réponses :
Internet suggère également de réinstaller les runtimes de rapport de cristal sur les machines que vous essayez d'ouvrir le rapport sur (en vous assurant que tous les emplacements ont la même version). P>
merci Seanja. Je devrais tester cette solution.
Si votre application est exécutable autonome, cette erreur est générée car vous ne fermez pas correctement votre objet de rapport lorsque vous avez terminé avec ce que vous faites. Vous voyez peut-être cette erreur dans votre application en tant qu'application ASP.NET avec beaucoup d'utilisateurs accédant simultanément à votre site.
Vous pouvez provoquer l'apparition de l'erreur plus tôt en modifiant cette clé de registre: p> Il est normalement en panne à 75. Pour le débogage, vous pouvez la définir à une valeur inférieure et provoquer l'erreur plus tôt. p> Lorsque vous avez terminé à l'aide d'un objet de rapport, appelez la méthode .Close () qui nettoiera les ressources non gérées utilisées. P> Il y a ceux qui mentionnent de changer le réglage à -1. C'est une erreur, cela ne fera que causer d'autres problèmes pour une application à long terme. Le processus sera éventuellement à court de ressources et commencera à échouer d'une manière encore plus difficile à dépanner. P> p>
J'ai lu ici DevLibrary.BusinessObjects.com / BusinessObjectsxir2 / fr / fr / ... que le bon moment pour appeler la méthode Fermer () est au cours de l'événement de page_unload.
J'ai juste besoin de savoir si .Dispose des œuvres aussi bien que. J'ai reçu une erreur lors de l'impression de la mine même en utilisant .Dispose entre des impressions). Et une erreur survient principalement lorsque je l'imprime plus de 75 fois ...
Je n'ai pas pu trouver la clé ci-dessus à l'emplacement spécifié, bien que je l'ai trouvé ici: HKEY_LOCAL_MACHINE \ logiciel \ WOW6432Node \ Business Objects \ Suite 12.0 \ Signaler un serveur d'applications \. Dans ce dossier, j'ai trouvé deux: a) Inprocserver \ PrintJOBLIMIT et B) Server \ PrintJOBLIMIT
FYI, je viens de vérifier cette solution pour un problème similaire. La méthode ReptDocument.Load a échoué lors de l'utilisation d'un partage de réseau mappé ou d'un chemin UNC et d'installer les rapports Crystal VS Runtime sur le serveur de fichiers corrigé le problème. P>
J'ai vérifié Solution de John Dyer , Au-dessus , ne fonctionne pas dans tous les cas.
J'ai également vérifié que la réinstallation de Crystal Runtime n'a pas fonctionné pour cette erreur particulière. P>
Pour mon application, cela ne se produisait que sur les installations Citrix d'une .exe autonome, avec des rapports intégrés. Avant d'utiliser le visualiseur de rapport Crystal, je dois m'assurer que j'ai effacé tout rapport précédemment chargé dans le spectateur, selon les instructions de John. Donc, je vais écrire quelque chose (dans VB) qui ressemble à p> où CleanOutViewer est: p> Les appels après .Close () n'avait également aucun effet (et a été ajouté comme une tentative alternative d'essayer de forcer le cristal à libérer des ressources). P> P>
De plus: l'utilisation de ressources incorporées plutôt que des rapports stockés sur le système de fichiers n'a aucun effet - je ne l'ai jamais fait et que je reçois cette erreur.
Le document de rapport cristal doit être disposé manuellement. P>
Vous devez contrôler la durée de vie de tous les rapports de votre application et appeler leur disposition avant d'atteindre la limite de 75. P>
Il y a une bonne approche sur la manière de y parvenir dans ce lien: P>
http://geekswithblogs.net/technetbytes/archive/2007/ 07/17 / 114008.aspx P>
croissant CurrentJoblimit code> n'est pas la solution; Ce numéro sera atteint si le compteur n'est pas réinitialisé.
Pour éviter l'augmentation du compteur de travaux, vous devez fermer le document de rapport Crystal ( reportince.close.frose () code>) Programmatiquement. strong>
protected void Page_Unload(object sender, EventArgs e)
{
CrystalReportViewer1.ReportSource.Close();
}
J'utilise CR 13 et le cristalreportviewer n'a pas la méthode .Close (). Comment ferme le document?
@Lukinhars Not CrystalReportViewer mais CrystalReportViewer1.Reportsource a une méthode de près.
@ApostroFix est le nom du contrôle CrystalReportViewer qui figure dans votre page et qui affiche le rapport. Si vous déposez un contrôle CrystalReportViewer, le nom par défaut sera CrystalReportViewer1
@Manuelegreco Il est étrange que je n'ai pas aussi pas le .close () code> méthode. Dans ma candidature, je crée le CrystalReportViewer dans le code, mais même si vous utilisez le concepteur visuel, il ne dispose toujours pas de la méthode
.close () code>. Est-ce seulement dans ASP.NET, comme j'utilise des winforms?
@ApostroFix Not CrystalRePortViewer mais CrystalReportViewer1.Reportsource a la méthode .Close ().
@ApostroFix pouvez-vous poster du code? Comment définissez-vous le rapport qui doit être ouvert par Viewer? J'utilise ceci: ReportDocument = Nouveau rapportDocument (); Reportdocument.load (ReportFilename); Code> ...
CrystalReportViewer1.Reportsource = Reportdocument; reporterdocument.readrecords (); code> ...
reporterdocument.close (); code>
@Manuelegreco j'ai posté ce fil plus tôt aujourd'hui: Stackoverflow.com/Questtions/29643043/... Si vous voulez faire la fermeture du ReportDocument Code>, alors je le fais aussi, mais je n'ai pas de
CrystalReporviewer1.reportsource. Fermer () Code> Méthode.
J'ai résolu, j'ai eu le même problème. Je suis allé pour signaler les propriétés et définir "Buildaction" sur "Contenu". P>
Est-ce que cela se produit sur votre machine de développement? Ou juste des machines de production?
Cela se produit juste dans les machines de production. Je suis sûr que le chemin du rapport est correct.
J'ai couru dans ce problème avant ... La première chose que je ferais est de vérifier que le chemin de rapport est correct.