2

packageTmp を inetpub/wwwroot にコピーし、Web サイトを追加してパスとして含めました。

Crystal Report ランタイム CRRuntime_32bit_13_0_4 をインストールしましたが、それでも機能しませんでした。

また、wwwroot/aspnet _client/systemweb/4_0_30319 に Crystalreportviewers13 フォルダーがあります。

これは、Crystal Report のページに移動したときに発生したエラーです。パスが定義されている場所がわかりますか? この問題は、IIS にアプリケーションを展開するときに発生します。

例外の詳細: System.Runtime.InteropServices.COMException: 無効なファイル名です。

ソース エラー:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

スタックトレース:

[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() +270 [CrystalReportsException: Load report failed.] CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +333 CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob) +877 CrystalDecisions.CrystalReports.Engine.ReportClass.Load(String reportName, OpenReportMethod openMethod, Int16 parentJob) +1183 CrystalDecisions.CrystalReports.Engine.ReportDocument.EnsureLoadReport() +113 CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSourceInternal(Object val, Type type) +53 CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSource(DataTable dataTable) ....

これは、reportxx.rpt の .aspx コードの背後にある .cs コードです。

m_reportxx = new reportxx();
CrystalReportViewer1.ToolPanelView = CrystalDecisions.Web.ToolPanelViewType.None;

DataTable dt = data.GetReport();

reportxx.SetDataSource(dt);

CrystalReportViewer1.ReportSource = m_reportxx;

これを試してみたところ、ビジュアルスタジオ環境でのデバッグ中に機能しました。

4

2 に答える 2

0

私はこれが古い投稿であることを知っています。しかし、まだ答えを探している人のために:

ページのマークアップに Crystal レポートを登録する必要があります

<% @ Register Assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"
    Namespace="CrystalDecisions.Web" TagPrefix="CR" %>

レポートの [出力ディレクトリにコピー]プロパティを [常にコピー] に設定します。

CrystalReportSource 内のファイルのパスは ~/bin/YOURFOLDER/YOURFILE になります。

<CR: CrystalReportSource ID ="CrystalReportSource1" runat ="server">
            <Report FileName="~/bin/oilmovement/rptOMDayEnd.rpt">
            </Report>
        </CR: CrystalReportSource>

これでレポートが機能するはずです

于 2013-01-30T11:19:56.083 に答える
0

私の場合、2 日以内にエラーが見つかり、何も問題はありませんでした...最後にProcmon.exeを使用しました( -2147217396 ) でエラーを追跡します。I Filter by Result + is not + SUCCESS、Webアプリケーションを再度実行しようとすると、 Error: ACCESS DENIED to Folder Xが表示されます。Xフォルダーに適切な許可を与え、正常に動作します。

于 2017-01-30T18:14:39.387 に答える