2011-12-06 12 views
1

複数のデータベース環境でのCrystal Reportsの使用。過去の報告書は一般的ではないと書かれている(図)。新しい成果物を提供しながらこの混乱をきれいにしようとしています。クライアントは理解しておらず、可能な限り最短で進めていますし、既存のレポートを整理してすべてのシステムで一般的なものにする必要はありません。複数のデータベースを持つCrystal Reportsで直接ビューを使用する際の問題

レポートごとに具体的に記述されたビューを使用して作成された多数のレポートがあります。このドラマは、ビューベースのクリスタルレポートを複製してから、クリスタルデザイナーを介してレポートが作成された元のデータベースとは異なるデータベースでレポートを実行しようとするときに発生します。 レポートは元のビューオブジェクトに保持されます。実行されますが、出力はありません。最初は、基本的な見解に問題があると思った。

解決策は、[データソースの場所の設定]パネルでビュー参照を更新することです。

クリスタルレポートでビューを使用することについての人々の意見をお待ちしています。そして、彼らが以前にこの状況にぶつかったのならば。

明らかにビューには用途がありますが、レポートに直接プラグインできる場合は、レポートの特定のビューを作成することによって、レポートとSQL文の間に別のレイヤーを追加することはありません。より複雑な計算や出力をしたいときは、データベースプロシージャだけが私には意味があります。

ノート

  • レポートは(結晶データソースを変更せずに)異なる
    システムのSAP B1用のアプリケーションメニューから細かい実行されます。
  • ビューを間接的に使用しているレポートは、この問題の影響を受けません。

疑似スクリーンショット: データソースの保存場所の設定(パネル)

Current Datasource: 
Report 
    server 
     properties 
     initial catalog: other database 

     view 
     properties 
      catalog: original database 

答えて

1

私たちの経験から、(N-Nの関係で、あるいはテーブル)複数のサーバ/データベース用のビューを使用しては好ましい方法です。データベースのレイアウトやサーバー構成が変更された場合は、1つのビューまたは複数の関連レポートを変更することをお勧めします。

もちろん、私たちのレポートは単一のデータベースで動作するよう設計されているという事実に関連している可能性があります。私たちのアプリケーションは、常にすべてのデータソースの場所(テーブル、ビュー)を現在のデータベースに置き換えます。これにより、さまざまなデータベース(MSAccessやMSSQLなど)で簡単にレポートできます。このようなアプローチでは、ビューを使用しない限り、データベース間のレポートは除外されます。私たちのレポートでは、アプリケーションで開かれたデータソース(接続)にリンクされていないOLEDBインターフェイスも使用されています。

レポートファイルで直接開くとデザイナーに問題が生じることがあります。 set datasource locationは通常それらを修正します(特定のビューのために場所を設定する必要があるかもしれません)。修正されたデータベース情報でレポートのコピーを保存するアプリケーションを通じて開かれた場合、デザイナーは完全に機能します。

また、さまざまなデータベースレイアウトに簡単に移行できない、基礎となるビューに問題があることがあります。幸いなことに、出力レイアウトを変更せずにビューの定義を変更することができます。

お客様の声明については、レポートをより普遍的なものに置き換えるときには、いくつかのエラーを導入することができます。誰がそれを望んでいますか?誰も。

+0

詳細な返信をありがとうございます。 –

関連する問題