2016-04-11 2 views
-2

Ich bin neu in C# winforms Anwendung Entwicklung, zur Zeit arbeitete ich an einer Winforms-Anwendung mit Crystal Reports und funktionierte gut auf Debugging und ohne Debugging-Modus während der Entwicklung. Aber als ich es entfaltete und auf dem Client-PC lief, gab es mir einen Fehler, während ich versuche, einen beliebigen Crystal Report zu öffnen.Crystal Report: Ladebericht nach der Bereitstellung fehlgeschlagen C# Winforms-Anwendung

Es gibt den Fehler beim Laden des Berichts fehlgeschlagen ->.

************** Exception Text ************** 
CrystalDecisions.Shared.CrystalReportsException: Load report failed. ---> System.Runtime.InteropServices.COMException: Unsupported Operation. A document processed by the JRC engine cannot be opened in the C++ stack. 
    at CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options) 
    at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options) 
    at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() 
    --- End of inner exception stack trace --- 
    at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() 
    at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob) 
    at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename) 
    at ePos._forms._pos._reports.customerLedgerReport.ShowReport(DataTable dtable) 
    at ePos._forms._pos._reports.customerLedgerReport.customerLedgerReport_Load(Object sender, EventArgs e) 

Bitte helfen Sie mir aus, werde so sehr dankbar für Sie sein. :)

+0

Schauen Sie sich die vorherigen Threads zuerst an. Dann aktualisieren Sie Ihre Frage, um genau zu sagen, was Sie versucht haben und was das Ergebnis war, vorausgesetzt, es funktioniert danach immer noch nicht. http://stackoverflow.com/questions/8654154/unsupported-operation-a-document-processed-by-the-jrc-engine-cannot-be-opened-i, http://stackoverflow.com/questions/10833894/ a-Dokument-processed-by-the-JRC-Motor-nicht-sein-geöffnet-in-the-c-Stack –

+0

dank für Ihre Antwort. Ich sehe es bereits, aber funktioniert nicht für mich .. –

Antwort

1

Die einzige Ursache für dieses Problem ist, dass "die Anwendung den Crystal Reports-Bericht (.rpt) nicht finden konnte".

Hier sind die möglichen Gründe für diese Fehlermeldung.

  • Der Standortbericht in dem angegebenen ‚Load()‘ Methode ist ungültig oder
    Bericht nicht existiert diese Stelle an.
    :

    Dies passiert, weil während der Entwicklung der Anwendung der Speicherort des Berichts vom Dev-Computer angegeben wird, aber sobald die Anwendung bereitgestellt wird, ändert sich der Speicherort in Bezug auf die IIS-Ordnerstruktur.

    Überprüfen Sie den Pfad der .rpt-Datei. Das wird es wohl

    Server.MapPath("~/Reports/InvoiceRegular.rpt"); 
    

    oder-- lösen Rechts RPT klicken File-> Wählen Sie die Eigenschaften-> Changed

    • Build Action als "Inhalt".
    • Kopieren in Ausgabeverzeichnis als "nicht kopieren".
    • Leeren Sie den benutzerdefinierten Werkzeug- und benutzerdefinierten Werkzeug-Namespace leer.
  • Berichte sind nicht intakt: Wenn die Berichte Visual Studio veröffentlicht werden mit ‚Veröffentlichen‘ Option, aber wenn sie nicht richtig veröffentlicht eine Möglichkeit besteht, dass die Berichte Inhalt verlieren oder beschädigt werden. Die beste Möglichkeit, dies zu überprüfen, ist auch, die Berichtsgrößen vom Dev- und Prod/Client-Rechner zu vergleichen.

  • Zufällige Änderung der Berechtigungen oder Sicherheit/Zugriffsrichtlinie: Dies ist eine mögliche Ursache, wenn einige Male der Bericht funktioniert, aber manchmal wirft er den Fehler. Möglicherweise möchten Sie die Sicherheitsrichtlinie für Ihren Computer/Ihre Domäne überprüfen, wenn die Rechte für Ihre Anwendung über den Speicherort des Berichts variabel sind/sich ändern. Verwenden Sie Process Monitor, und suchen Sie nach Zugriffsfehlern oder Berechtigungsproblemen.

  • Alle möglichen Ursachen für die Meldung 'Ladebericht fehlgeschlagen' gelten auch für dieses Problem. Hier ist der beste Artikel geschrieben von Ludek, der sie alle abdeckt.http://scn.sap.com/docs/DOC-21995

  • Die andere starke Ursache für dieses Problem ist die Druckjoblimit Crystal Print Engine überschritten wird. Betrachten wir ein Szenario, in dem die Anwendung mehrere Ansicht/export/Druckfunktionen auf Berichte ausführt, Berichte funktionieren die meisten der Zeit, aber intermittierend diese Ausnahme auslösen. Unten finden Sie das Dokument, das Sie möglicherweise sehen, um dieses Problem zu beheben. http://scn.sap.com/docs/DOC-21533

+0

Ich benutze Winforms und es gibt keine Server.MapPath(); und mein Code: 'public void ShowReport (Datatable dtdata) { crystalReportViewer.SelectionMode = CrystalDecisions.Windows.Forms.SelectionMode.None; ReportDocument rdoc = neu ReportDocument(); rdoc.Load (@ "@ Berichte/rptBalanceSheet.rpt"); rdoc.SetDataSource (dtdata); crystalReportViewer.ReportSource = rdoc; } ' –

+0

Immer [zitieren Ihre Quellen] (http://scn.sap.com/community/crystal-reports-for-visual-studio/blog/2012/08/08/troubleshooting-error-unsupported-operation-a -document-processed-by-the-jrc-engine-kann nicht im c-stack geöffnet werden; sonst plagitierst du. –

+0

@GrantWinney danke für Ihre freundliche Antwort .. :) und ich habe Ihnen bereits den Code gezeigt. –