2

通常、SSRS レポートでは、レポートを作成するためにデータソースを定義してから、クエリを定義し、レポートのレイアウトやその他のプロパティを選択します。次に、実行時にレポート サービスが設計時に提供されたクエリを起動し、データセット/データ テーブルをフェッチして、データをレポート構造/グリッドにバインドします。

私の rdl レポートは既にサーバーでホストされています。実行時に、レポートのレポート エンジンによってフェッチされたデータを自分のデータに置き換えたいと考えています。いくつかの制約により、レポート エンジンがデータベースにクエリを実行することを許可できません。

任意のデータ ソースから自分でデータをフェッチし、値のデータセット/データ テーブルを作成し、このデータセット/データ テーブルをレポート エンジンに渡してレポートにバインドすることは可能ですか? したがって、本質的に私がレポートエンジンに求めているのは、設計時にクエリ定義を起動するのではなく、構造とデータ値を除くすべての点で同じであるデータセット/データテーブルを、レポートエンジンが起動後に取得するデータセット/データテーブルに取り込むことです。クエリ。

RDLobjectModel、ReportService2010、ReportExection サービス、またはこれらの組み合わせを使用して上記のことを達成する方法はありますか?

4

1 に答える 1

2

解決策がわかりました:カスタムデータ処理拡張機能 http://msdn.microsoft.com/en-us/library/ms152816(v=sql.105

DPEは、データソースからデータをフェッチし、それをssrsサーバーに返す役割を果たします。SQL、OLEDB、XMLなどのSSRSに組み込まれたDPEがいくつかあります。同様に、独自のカスタムDPEを記述して、SSRSおよびBIスタジオに登録できます。カスタムDPE内で、実際の値を含むsystem.data.datasetを取得し、それをSSRSに返すカスタムコードを記述します。

または、XML DPEを使用し、レポートの作成時に埋め込みXMLをデータソースとして使用し、実行時に、この埋め込みXMLを、ReportServiceおよびRDLObjectModelを使用して値を持つデータセットを表すXMLに置き換えることができます。

于 2012-08-02T07:40:55.520 に答える