2011-07-29 212 views
6

我在服務器上收到錯誤「加載報告失敗」,它在本地主機上運行時沒有錯誤。我使用VS 2008和.Net 3.5。Crystal Reports「加載報告失敗」錯誤在服務器上運行報告

這是我的代碼:

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部分參考erencing組件:

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

我已經嘗試了所有這些解決方案張貼在計算器的:

CrystalReport Load report failed(不,我不能更改註冊表或重新安裝水晶報表,我的網站託管在外部服務器上)

load report failed(其中到底是objReport?)

I got the problem in Crystal Report- Error Messsage:Load report failed(我有沒有對象reffering到報表類:S)

Load report failed when implementing crystal report in asp.net 3.5(我想這個「〜」技術+絕對路徑和無工作)

Load report failed in Windows server 2003(我已經設置讀寫執行權限的每個文件)

https://stackoverflow.com/questions/3337185/crystal-report-giving-load-failed-error(這傢伙跟我一樣,一直沒有找到解決方案還沒有:P)

所以請請請幫助我!或者我的客戶將會把我活着吃掉......

+0

http://stackoverflow.com/questions/3321469/load-report-failed-when-implementing-crystal-report-in-asp-net-3-5 此鏈接對我有用....謝謝 – 456qwe123asd

回答

4

我知道這是一箇舊帖子。但對於任何人仍在尋找答案:

您需要註冊的網頁標記的Crystal Reports

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

設置屬性「複製到輸出目錄」的報告「複製總是」

在crystalreportsource文件的路徑將是〜/斌/ YOURFOLDER/YOURFILE

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

現在報表應該工作

+0

解決了我的問題。這是更多解決問題的方法嗎?不知道是否有更直接的解決方案 –

+0

多數民衆贊成那就是我怎麼做...總是! –

1

我以前有同樣的問題,看來你需要在服務器上安裝CR運行時。只有DLL是不夠的。希望能幫助到你。

+0

我問他們關於CR運行時間,但他們聲稱他們已經在服務器 – codefreak

1

我知道這是一個老問題,但今天我有類似的問題。 報告在本地工作,但在部署到服務器(IIS)時,我遇到了同樣的錯誤。

嘗試向IIS用戶(創建報告的進程)添加寫入/讀取權限到%TEMP%。

報告在Temp中生成,並從那裏查看器獲取網站上顯示的內容。

+0

Pingo!假脫機文件夾中的IIS_USER缺少寫入權限。注意:就我而言,該文件夾位於應用程序的結構中。謝謝! – Gilberto

1

我也有這個問題,並用盡後,所有其他選項改變了應用程序池的假設定Load User Profile爲True,這解決了這個問題。

這是一個已經部署到幾十個IIS6,IIS7,IIS7.5服務器的應用程序,我們以前從未遇到過這個問題。該應用程序池運行身份網絡服務(它通常是),我第一次嘗試給C:\ WINDOWS \ TEMP的權限,這是行不通的(雖然我沒有檢查,如果真的是臨時目錄)。

我懷疑另一個解決方案可能是將網絡服務添加到IIS_IUSRS組,但我沒有嘗試,也沒有真正想這樣做,以防萬一它影響服務器上的其他應用程序。

相關問題