Rapport Crystal “nom de fichier non Valide.”
J'ai téléchargé mon WebApplication . Ma demande est dans VS2008 avec Crystal Reports 2008 sp3.
Je l'ai téléchargé sur le parallèle plex server. J'ai ajouté toutes les Dll de rapports crystal dans le dossier Bin. Mon chemin d'accès du rapport est également correcte.
L'erreur que je reçois est
Line 41: ReportDocument myreport = new ReportDocument();
Line 42: string reportPath = Server.MapPath("~/CrystalReport.rpt");
Line 43: myreport.Load(reportPath);
Line 44:
Line 45: myreport.SetDataSource(ds);
[COMException (0x800001fb): Invalid file name.]
CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options) +0
CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options) +95
CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +356
[CrystalReportsException: Load report failed.]
CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +418
CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob) +895
CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename) +84
_Default.CreateReport() in d:\inetpub\vhosts\mydomain.in\subdomains\mysubdomain\httpdocs\Default.aspx.cs:43
_Default.Page_Load(Object sender, EventArgs e) in d:\inetpub\vhosts\mydomain.in\subdomains\mysubdomain\httpdocs\Default.aspx.cs:21
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
Je ne suis pas en mesure d'Obtenir où l'erreur est.. Le rapport est couché dans le dossier racine elle-même. ainsi quel est le problème avec cela. Il y a un autre dossier aspnet_client. est-ce quelque chose que nous devons faire avec cela ?
De bien vouloir attendre la réponse
Vous obtenez cette erreur avec ce rapport en particulier ou tous les rapports ?
tous les rapports .. je pense qu'il y a un problème avec la permission.. mais je ne suis pas en mesure de le comprendre. il fonctionne très bien sur mon IIS
Assurez-vous que Votre serveur de rapports (Service Réseau) a lu la permission d'écrire sur C:\Windows\Temp\ dossier.
La première! Voir forum.arvixe.com/smf/general/crystal-report-problem-6893 Et ensuite faire Deb dit. Saludos!
tous les rapports .. je pense qu'il y a un problème avec la permission.. mais je ne suis pas en mesure de le comprendre. il fonctionne très bien sur mon IIS
Assurez-vous que Votre serveur de rapports (Service Réseau) a lu la permission d'écrire sur C:\Windows\Temp\ dossier.
La première! Voir forum.arvixe.com/smf/general/crystal-report-problem-6893 Et ensuite faire Deb dit. Saludos!
OriginalL'auteur Moiz | 2012-04-23
Vous devez vous connecter pour publier un commentaire.
Ce même problème a été headaching moi pour un bon moment. Maintenant j'ai trouvé la réponse 🙂
Goto
c:\windows\temp
dossier et sur sesproperties->security
Ajouter un nouvel Utilisateur "
IIS_IUSRS
" et de lui donner plein/lire et écrire capacité.Il a résolu le problème pour moi.
Espère qu'il ne l'est pour vous aussi 🙂
comment le faire à travers un panneau de contrôle?
Je Pense qu'il est juste de dire que cette solution a contribué massivement à notre crystal reports question. Enregistré beaucoup plus de casse-tête 🙂 Merci!
OriginalL'auteur Ruchan
Ici est quelque chose à vérifier.
Vous obtenez cette erreur, soit parce que le nom de fichier,le chemin d'accès est invalide ou CR ne peut pas accéder au fichier.
Si le chemin d'accès et nom de fichier sont ok, alors vous devez vous assurer que Service Réseau a de lecture/Écriture la permission de votre Temp dossier (Généralement
C:\windows\Temp
).Si cela ne résout toujours pas le problème, alors peut-être que votre dossier Temp est plein et CR n'est pas le nettoyage de la poubelle.
Si c'est le cas, alors vous devez vous assurer que vous êtes dûment l'Élimination votre objet de Rapport et l'appel de la GC pour le nettoyer.
Quelques fois CR se comporte de façon imprévisible. J'ai appris cela dans une voie difficile que même si vous appelez disposer sur votre
ReportDocument
objet suivi parGC.Collect()
encore la.rpt
fichiers dans Temp dossier ne sont pas nettoyés. Et il y a une limite à pas. de .rpt des fichiers dans un dossier Temp après qui CR arrête plus de rapport à la demande.Étrangement ce qui se passe lorsque vous déclarez votre
ReportDocument
objet à côté d'une fonction ou d'un gestionnaire d'événement. Mais si vous déclarez votre ReportDocument dans un page de large portée mondiale puis crystal reports heureusement nettoie de temp .rpt des fichiers lorsque vous appelez la méthode dispose !!J'espère que cela va vous donner une idée de résoudre le problème.
dans mon cas, le pool d'applications IIS est configuré pour utiliser DefaultAppPool utilisateur, je l'ai changé pour Network_Service et puis votre solution a fonctionné, merci
OriginalL'auteur Deb
Quelque chose d'aussi vérifier que tous les rôle IIS services a été ajouté sur le serveur. Nous avons ramassé ce même problème sur un nouvellement installé le serveur de production, mais pas sur nos environnements de développement local. S'avère, IIS a été ajouté comme un serveur rôle, mais le ASP.NET & Server-side includes) n'ont pas été ajoutés comme des services de rôle & donc le Visualiseur de Rapports Crystal n'a pas rendu tous les rapports.
Si vous exécutez Windows Server 2008, vous pouvez gérer ces rôles & services de rôle par le biais de l'outil Gestionnaire de Serveur.
OriginalL'auteur Carl Heinrich Hancke