はじめまして
Crystal Report 2008 の「レポートのロードに失敗しました」について
似たような質問がありましたが、現象が若干異なるため、質問させて頂きます。
-
<動作環境>
OS : Windows Server 2003 R2
: Microsoft Internet Information Services (IIS) 6.0
Microsoft .NET Framework Version 2.0 (Version 2.0.50727)
Microsoft .NET Framework 2.0 日本語 Language Pack (x86)
開発 : Microsoft Windows XP SP3
Microsoft Visual C# 2005 (Version 8.0 50727-7600 SP.050727-7600)
にて ASP.NET Webアプリケーション を作成
Business Objects Crystal Report 2008 Version 12.0.0.0
帳票出力先 : Adobe Acrobat (PDF)
WebForm に CrystalReportViewer と CrystalReportSource オブジェクト、
[表示ボタン]、パラメータ用のドロップダウンリストやテキストボックスを貼り付けています。
WebForm を最初に表示させたとき、あるいは [表示ボタン]を押した際に、
最新のパラメータを取得して、SQL Server 2005 から DataSet経由でデータを取得して、
CrystalReportViewer に帳票のプレビュー画面を表示します。
5~6台の各クライアントから、何度か(少なくとも100回以上)プレビュー画面を表示させると、
CrystalDecisions.CrystalReports.Engine から
「レポートのロードに失敗しました。」 というエラーが発生してしまいます。
(印刷ボタンを押してPDFファイルをエクスポートする時にエラーは発生していません)
エラー発生箇所は、u2193の Page_Init()内です。
なお、[表示ボタン]を押すと、
Page_Init() u21D2 Button_Click() u21D2 CrystalReportViewer_Unload()
の順序で実行されます。
具体的なソースコードを以下に示します。(一部のコードは省略しています)
/// <summary>
/// ページが初期化されたときに発生するイベント
/// </summary>
/// <param name="sender">イベントのソース</param>
/// <param name="e">イベントデータを格納しているオブジェクト</param>
protected void Page_Init(object sender, EventArgs e)
{
// 帳票オブジェクトを作成
crystalReport = new CrystalReport();
// 最新のパラメータを取得して、帳票オブジェクトに渡す
crystalReport.SetParameterValue("パラメータ", parameter);
// 帳票プレビュー ※(u2193ここで、エラーが発生しているようです。)
crystalReportViewer.ReportSource = crystalReport;
}
/// <summary>
/// ページがアンロードされたときに発生するイベント
/// </summary>
/// <param name="sender">イベントのソース</param>
/// <param name="e">イベントデータを格納しているオブジェクト</param>
protected void CrystalReportViewer_Unload(object sender, EventArgs e)
{
// 帳票オブジェクトを閉じる
crystalReport.Close();
}
/// <summary>
/// [表示ボタン]が押されたときに発生するイベント
/// </summary>
/// <param name="sender">イベントのソース</param>
/// <param name="e">イベントデータを格納しているオブジェクト</param>
protected void Button_Click(object sender, EventArgs e)
{
// 最新のパラメータを取得して、帳票オブジェクトに渡す
crystalReport.SetParameterValue("パラメータ", parameter);
// プレビュー
crystalReportViewer.ReportSource = crystalReport;
}
エラーの回避方法がありましたら、お知恵をお貸し下さい。
よろしくお願い致します。
-