0

問題:

データセットを .rdlc に動的に割り当てる asp.net reportviewer があります。ローカル マシンでは問題なく動作します。Web サーバーに公開して実行しようとすると、エラーが発生します。

エラー:

An error occurred during local report processing.
    The report definition for report 'C:\Program Files (x86)\Acumatica ERP\WRIGHTACUMATICA\rErrorCompilation.rdlc' has not been specified
        Could not find file 'C:\Program Files (x86)\Acumatica ERP\WRIGHTACUMATICA\rErrorCompilation.rdlc'.

追加情報:

エラーで指定されたディレクトリがサーバー上にありません。temp は、割り当てられるデータセットです。

C#:

this.rvErrorCompilation.Reset();
                    this.rvErrorCompilation.LocalReport.ReportPath = Server.MapPath("~/rErrorCompilation.rdlc");
                    ReportDataSource rds = new ReportDataSource("dsErrorCompilation", temp);
                    this.rvErrorCompilation.LocalReport.DataSources.Clear();
                    this.rvErrorCompilation.LocalReport.DataSources.Add(rds);
                    this.rvErrorCompilation.DataBind();
                    this.rvErrorCompilation.LocalReport.Refresh();

Asp.Net:

<rsweb:ReportViewer ID="rvErrorCompilation" runat="server" Width="100%">
            <LocalReport ReportPath="rErrorCompilation.rdlc">
            <DataSources>
                <rsweb:ReportDataSource />
            </DataSources>
        </LocalReport>
            </rsweb:ReportViewer>

質問:

  1. なぜこうなった?
  2. どうすれば修正できますか?
4

2 に答える 2

0

Microsoft Visual Studioは、公開時に.rdlcファイルをコピーするように指定されていても、コピーしていなかったようです。手動でWebルートに移動した後、正しく機能するようになりました。

于 2013-01-03T13:35:10.383 に答える
0

これを試して:ReportPath="~/rErrorCompilation.rdlc"

<rsweb:ReportViewer ID="rvErrorCompilation" runat="server" Width="100%">
        <LocalReport ReportPath="~/rErrorCompilation.rdlc">
        <DataSources>
            <rsweb:ReportDataSource />
        </DataSources>
    </LocalReport>
        </rsweb:ReportViewer>
于 2013-01-03T00:06:38.040 に答える