Asp.net

Crystal Reports 在伺服器上執行報表時出現“載入報表失敗”錯誤

  • June 4, 2020

我在伺服器上收到錯誤“載入報告失敗”,它在本地主機上執行沒有錯誤。我正在使用 .Net 3.5 的 VS 2008。

這是我的程式碼:

ReportDocument reportDocument = new ReportDocument();
   String filePath = @"C:\abcSpaces\abc.com\xyz.com\wwwroot\Order Fulfilment.rpt";//full path
// I have tried OrderFullfilment.rpt and ~/OrderFullfilment.rpt and /OrderFullfilment.rpt
   try
   {
       reportDocument.Load(filePath);
       CrystalReportViewer1.ReportSource = reportDocument;
   }
   catch(Exception ex){
       Label1.Text = ex.Message;
}

Aspx 頁面部分:

<CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" Height="1291px"
       ReuseParameterValuesOnRefresh="True" Width="1125px" />

^我嘗試過使用

<CR:CrystalReportSource ID="CrystalReportSource1" runat="server">
       <Report FileName="expenseRep_summary.rpt">
       </Report>
</CR:CrystalReportSource>

當然沒有運氣…

我用於引用程序集的 web.config 部分:

<compilation debug="true">
       <assemblies>
           <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
           <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
           <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
           <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
           <add assembly="MySql.Data, Version=6.2.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
           <add assembly="MySql.Data.Entity, Version=6.2.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
           <add assembly="MySql.Web, Version=6.2.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
           <add assembly="CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
           <add assembly="CrystalDecisions.Shared, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
           <add assembly="CrystalDecisions.ReportSource, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
           <add assembly="CrystalDecisions.CrystalReports.Engine, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/><add assembly="CrystalDecisions.ReportAppServer.ClientDoc, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/><add assembly="CrystalDecisions.Enterprise.Framework, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/><add assembly="CrystalDecisions.Enterprise.InfoStore, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
           <add assembly="CrystalDecisions.Data.AdoDotNetInterop, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
           <add assembly="CrystalDecisions.VSDesigner, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/></assemblies>
</compilation>

我已經嘗試過在 stackoverflow 中發布的所有這些解決方案:

CrystalReport 載入報告失敗(不,我無法更改系統資料庫或重新安裝水晶報告,我的網站託管在外部伺服器上)

載入報告失敗(objReport 到底在哪裡??)

我在 Crystal Report 中遇到了問題 - 錯誤消息:載入報告失敗(我沒有引用報告類的對象:S)

在 asp.net 3.5 中實現水晶報告時載入報告失敗(我嘗試了這種 ‘~’ 技術 + 絕對路徑,但無濟於事)

Windows server 2003 中的載入報告失敗(我已為每個文件設置了讀寫執行權限)

https://stackoverflow.com/questions/3337185/crystal-report-giving-load-failed-error(像我這樣的人,還沒有找到解決方案:P)

所以請幫幫我!否則我的客戶會把我活活吃掉…

我知道這是一個舊文章。但對於仍在尋找答案的任何人:

您需要在頁面標記中註冊水晶報表

<% @ 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>

現在報告應該可以工作了

引用自:https://stackoverflow.com/questions/6879919