#はじめに
Crystal Reports関連の日本語情報が少ないので、ここにメモを残す。
#現象
Crystal Reportsにて、サブレポートを使用したレポートファイルをRefresh()すると、時間がかかる。
開発環境では2-3秒で起動するが、本番環境や別の開発環境で実行すると20秒近くかかる。
ネットを調べると、初回起動の高速化に「発行証明書の取得の無効化」が挙がっているが、実際これで問題解決しない。
CrystalReportの初回起動が遅い場合の対処
http://www.kuzilla.co.jp/20101208crystalreport
おそらく、以下のリンク先と同一の現象。リンク先では、結果解決できていない。
Re[4]: Crystal Reportを使用したAPの起動時間 - C# と VB.NET の質問掲示板
http://bbs.wankuma.com/index.cgi?mode=al2&namber=45735&KLOG=77
#原因1
サブレポートのパスが見つからないため。
Reports Designerで[参照]ボタンを使用して、ファイルを指定すると絶対パスが設定され、かつ、サブレポートのパスが見つからなくてもレポートが表示されてしまうため、気付きにくい。
サブレポートのパスの確認方法:
#対策1
サブレポートのパスにファイルを配置すると、素早く起動する。
サブレポートのパスを相対パスで記述。
相対パスの基準となるパスは、実行プログラムの配置してあるパスが、基準となる。
上記:検証したが、対応策を調査中
#原因2 & 対策2
デフォルトのプリンタ設定を読みにいっているため。
デフォルトのプリンタ設定をなしorローカルプリンタにすると改善。
原因1に比べると、効果が薄い。
対応とかは以下を参照
かなりヤバイ状況に!!
http://plaza.rakuten.co.jp/mashpen/diary/200701160000/
#情報源
元ネタは以下を参照
Crystal 10: Reports Load Slowly
http://support.resortdata.com/Customers/Knowledge/KB-RDPWin/KWin0007.htm