1

私たちの Web アプリケーションは、古い Crystal Reports XI Rel 2 activeX を使用して、従来の ASP から呼び出されたレポートをレンダリングしました。ASP.NET から呼び出されたレポートをレンダリングするために、新しい Crystal Reports 13 ランタイムと一緒に実行したいと考えています。

http://scn.sap.com/docs/DOC-7824 (サポート パック 3)にある exe をインストールしました。私たちの開発マシン (Windows XP) ではすべてがうまくいき、両方のテクノロジでレポートを設計およびレンダリングすることができました。今日、クライアントのサーバー (Windows Server 2008 64 ビット) に展開しようとしましたが、明らかにうまくいきませんでした。

最初に新しいレポートを開いてから古いレポートを開こうとすると、どちらも失敗しますが、「レポートの作成中にエラーが発生しました」などの完全に一般的で役に立たないエラー メッセージが表示されます。新しいものは問題ありませんが、古いものは「無効な TLV レコード」というメッセージで失敗します。

逆に、iis を再起動した後、最初に古いレポート (クラシック ASP の CR XI R2) を開こうとすると、正しく表示されますが、新しいレポート (CR 13) では次のエラーが発生します。

CLSID {F734A321-8381-4FFD-A614-139E8906DC83} を持つコンポーネントの COM クラス ファクトリを取得できませんでした。次のエラーが原因です: 80000003 1 つ以上の引数が無効です (HRESULT からの例外: 0x80000003)。

このエラーをググってみました。意味のある結果はこのスレッドだけでしたが、役に立ちませんでした。

ありがとうございました

編集:わかりました。最初のエラーは、.rpt ファイルがデプロイされたフォルダーから除外されていたことです。要するに、CR ランタイムの互換性がないということでしょうか。

EDIT 2:はい、間違いなくそれです。別のアプリケーション プールで実行されている別の仮想ディレクトリに新しいレポートを移動したところ、最初にインスタンス化されたものに関係なく、両方が機能するようになりました。では、既存のレコードを徐々に移行する方法、つまり、両方のランタイムが共存し、同じ仮想ディレクトリで使用される期間を設ける方法はありますか?

4

2 に答える 2

0

私はこの問題を抱えていました。再起動せずに CR 13 をインストールしたばかりだったので、サーバーを再起動してみようと思いました。再起動後、問題はなくなりました。

于 2013-03-04T20:28:44.020 に答える