Asp.net
Crystal Reports 在伺服器上執行報表時出現“載入報表失敗”錯誤
我在伺服器上收到錯誤“載入報告失敗”,它在本地主機上執行沒有錯誤。我正在使用 .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>現在報告應該可以工作了