0

SAP Integration KIT と Crystal Reports 2008 を使用しています。Crystal Reports は Winform (VB.net Windows アプリケーション) (VS 2005 with net fx 2.0) に表示されています。

開発環境は 32bit で、問題なく動作しています。レポートはローカル BI サーバーで動作します。問題は本番サーバーにあります。本番サーバーは 64 ビットです。

  1. Windows exe は、どの構成でもインストールされます。

  2. 32ビット版の「SAP Integration KIT and Crystal Reports 2008」がインストールされています。

  3. Crystal レポートを開くと、次の例外が発生していました。

エラー: 「Crystal Reports ランタイムのロード中にエラーが発生しました。Crystal Reports レジストリ キーのアクセス許可が不十分であるか、Crystal Reports ランタイムが正しくインストールされていません。適切な Crystal Reports 再配布可能ファイル (CRRedist*.msi) をインストールしてください。 Crystal Reports ランタイムの正しいバージョン (x86、x64、または Itanium) が必要です。

このために、corflag.exe ツールを使用して、exe の 32 ビット フラグを 32 ビット + に変更しました。上記のエラーは削除され、次の新しいエラーが発生します。一時フォルダー/レポート フォルダーなどのアクセス許可を確認しましたが、すべて問題ありません。ここで立ち往生しています。少しのヘルプ/ガイダンスが週末を救うことができます:)。

タイプ: CrystalDecisions.Shared.CrystalReportsException、CrystalDecisions.Shared、Version=12.0.2000.0、Culture=neutral、PublicKeyToken=692fbea5521e1304 メッセージ: レポートの読み込みに失敗しました。ソース: CrystalDecisions.CrystalReports.Engine ヘルプ リンク: データ: System.Collections.ListDictionaryInternal TargetSite: Void EnsureDocumentIsOpened() スタック トレース: CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() で CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod、Int16 parentJob)、CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(文字列ファイル名)、BizzCare.frmReportViewer.frmReportViewer_Load(オブジェクト送信者、EventArgs e)

追加情報:

マシン名: xxx

タイムスタンプ : 2012 年 6 月 14 日 7:50:15 AM

FullName : Microsoft.PracticesEnterpriseLibrary.ExceptionHandling、バージョン = 3.1.0.0、カルチャ = ニュートラル、PublicKeyToken = null

AppDomainName : abc.exe

スレッド ID : 管理者

WindowsIdentity: comp\user 内部例外 --------------- タイプ: System.Runtime.InteropServices.COMException、mscorlib、Version=2.0.0.0、Culture=neutral、PublicKeyToken=b77a5c561934e089 メッセージ: エラーLast12MonthsSales{9D0A761A-8021-42E6-8ECF-CE2C0167F5B0}.rpt ファイル内: Crystal Report オブジェクト リポジトリへのログオンに失敗しました。ソース: 分析サーバー ヘルプ リンク: エラーコード: -2147217397 データ: System.Collections.ListDictionaryInternal TargetSite: Void Open(System.Object ByRef, Int32) スタック トレース: CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options) CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open (オブジェクト & DocumentPath、Int32 オプション) で、CrystalDecisions.ReportAppServer で。

4

2 に答える 2

0

この問題は解決しました。

ランタイム バージョンの違いがあり、レポートは Crystal レポートの 12.1.xxx バージョンを使用して設計されており (SAP は開発環境用に最新のものを提供しているため)、Visual Studio 2008 は 10.x.xx を提供します。

セットアップの一部として展開されるバージョン。12.1.xxx バージョンの cr120_redist_install.zip をダウンロードし、展開サーバーにインストールして動作させました。

于 2012-07-02T11:39:58.753 に答える
0

この問題は、開発環境で使用されるランタイム バージョンと本番環境にインストールされるランタイム バージョンの違いが原因でした。

混乱の原因は、「SAP Integration Kit」とともにデフォルトでインストールされた「Crystal Report 2008 SP1」を手動で削除/アンインストールする必要があり (これにより古いバージョンの DLL が提供されるため)、次に手動でダウンロードした後に適切なランタイムをインストールする必要があるためです。マイクロソフトのサイト。

于 2012-06-27T15:35:31.223 に答える