v42010で.net4.0を使用してCrystalレポートを作成しました。ウェブサイトを公開すると、「JRCエンジンで処理されたドキュメントをC++スタックで開くことはできません」というエラーがスローされます。サーバーにWebサイトを公開していて、クライアントからアクセスしようとしていますが、app_codeで.rptファイルを取得しましたが、同じエラーが再び発生しました。そこで私はwwwrootフォルダを作成し、そのフォルダにasp_clientとwebsiteフォルダを保存して、wwwrootへの物理パスを与えました。クリスタルレポート以外はすべて正常に動作します。エラーのJRCエンジンで処理されたドキュメントをC++スタックで開くことができません
ReportDocument rptDoc = new ReportDocument();
DataSetForCrystalReport ds = new DataSetForCrystalReport();
DataSetForCrystalReport dsHeader = new DataSetForCrystalReport();
DataTable dt = new DataTable();
DataTable dtHeader = new DataTable();
dt.TableName = "dtBill";
string ReceiptNo = Request.QueryString["ReceiptNo"];
dt = getAllOrders(ReceiptNo).Tables[0];
dtHeader = TblcompanysettingsService.GetOrganizationDetails();
ds.Tables[1].Merge(dt);
ds.Tables[2].Merge(dtHeader);
rptDoc.Load(Server.MapPath("crBill.rpt"));
rptDoc.SetDataSource(ds);
CrystalReportViewer1.ReportSource = rptDoc;
スタックトレース:解決策を見つけた
[COMException (0x80041811): Unsupported Operation. A document processed by the JRC engine cannot be opened in the C++ stack.]
CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options) +0
CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options) +147
CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +422
[CrystalReportsException: Load report failed.]
CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +549
CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob) +1613
CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename) +189
GenerateBill.Page_Load(Object sender, EventArgs e) in e:\ShareFolder\Movie\wwwroot\Website\GenerateBill.aspx.cs:33
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +25
System.Web.UI.Control.LoadRecursive() +71
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3064
だからhttp://stackoverflow.com/questions/4294762/crystal-reports-for-visual-studio-2010-errorは役に立ちませんか? –
nope。私はその質問にすべてのことを疑問視しました。 – sharad
Crystalレポートファイルがコード内の@指定された場所にあることを確認してください。コード内に書かれたパスが間違っている可能性があります –