質問

Crystal Reports 2008をWindows Formsアプリケーションに統合したいと考えています。クライアントアプリケーションからデータベースへの直接接続を避け、ユーザーに「完了」を提供したいと思います。経験を報告する。 Crystal Reports 2008は、Microsoft Reporting Servicesと同様に、サーバー上のレポートをクライアント側のWindowsフォームクライアントコントロールに実行できますか?

役に立ちましたか?

解決

それがあなたが望んでいるものであるかどうかはわかりませんが、2つの方法であなたがそれをかわすことができると思います:

  1. 「データベース」が実際のバックエンドの知識なしでXSDファイルになるようにレポートを設定できます。次に、実行時にデータをレポートにプッシュします。

//実行時に環境に適したインスタンスを作成します-例のみ:

ReportClass rc = new ReportClass();

rc.Load(crystalReportFileName);

rc.SetDataSource(myIEnumerableData);

CrystalReportViewer crv = new CrystalReportViewer();

crv.ReportSource = rc;

//クリスタルビューアを表示します。

2-サーバー上で(データベースのアプローチに関係なく)1と同じ操作を行い、レポートを保存してクライアントにプッシュすることができます。

//サーバー側のサービス/メソッドなど

public byte [] GetMyReport() {

ReportClass rc = new ReportClass();

rc.Load(crystalReportFileName);

rc.SetDataSource(myIEnumerableData);

rc.SaveAs(serverSideFile、True); //レポートでデータを保存するにはTrueが重要です

return .... //作成したファイルをバイト配列に変換します

}

//クライアント側

byte [] rep =サーバー。 GetMyReport()

ReportClass rc = ..... //担当者をクリスタルレポートに戻す

CrystalReportViewer crv = new CrystalReportViewer();

crv.ReportSource = rc;

他のヒント

これは実際にあなたが求めていることではありませんが、Crystal Reports Serverはサーバー側のレポートを行います。

マイナス面では、迷惑なほど高価です。

http://www.businessobjects.com/product/catalog/crystalreports_server/

上記にコメントを追加することはできませんが、ポイントがありませんが、これが役立つことを願っています。

Crystal Reports Serverは、データソースに対してレポート自体を実行します。これは、CrystalレポートまたはデータアクセスのないクライアントがWeb経由でレポートを実行できる、またはサーバーがスケジュールされたレポートを実行して結果を送信するという考えです。ただし、統合できるかどうかはわかりません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top