1

SQL Report Builder を使用していますが、既に作成されているストアド プロシージャを呼び出したいと考えています。SSRS を使用するとこれを実行できますが、会社の要件は、ユーザーがアドホック レポートを実行できるようにするレポート モデルを構築することであるため、一部のテーブルに入力するために作成されたこれらのストアド プロシージャを含める方法を見つける必要があります。

誰でもこれで私を助けてもらえますか?

ありがとう。

4

1 に答える 1

1

SSRS を使用してレポート モデル プロジェクトを作成する場合は、データ ソースを作成してから、レポート モデルで使用できるテーブルとビューの制限付きリストであるデータ ソース ビュー (DSV) を作成します。

エンド ユーザーにとってレポートの作成が単純で明確になるように、レポート モデルの限定的なビュー セットを作成するという考え方です。エンド ユーザーがレポートを作成しない場合は、お勧めしません。実際には、Report Builder はパワー ユーザーにとって十分に強力ではなく、他のユーザーは、Excel をデータ ソースに接続してピボット テーブルを作成することで得られた価値を、そこから得ることはできません。

残念ながら、Report Builder ではテーブルとビューに制限されています。これは、複雑なレポートでは Report Builder を使用しないことを意味します。パラメータをとらないため、凝ったものをビューで再現するのは簡単ではありません。

どうしても必要な場合は、既存のストアド プロシージャから何らかの方法でビューを作成する必要があります。1 つの方法は、テーブル値関数(TVF)を使用するように変換することです。これは簡単なプロセスではありません。TVF をビューに組み込む必要があり、それでもパラメーターを取得できないからです。

Teo Lachev の本「Applied Microsoft SQL Server 2008 Reporting Services」の 312 ページに別の回避策がリストされています。OPENROWSET を使用して、名前付きクエリを作成できます。これは、アドホック分散クエリ (サーバー オプション) に対して SQL Server を既に有効にしていることが前提となります。彼が与える例:

SELECT a.* FROM OPENROWSET('SQLNCLI', 'Trusted_Connection=yes',
'[AdventureWorks].[dbo].uspGetManagerEmployees 16') AS a

それは実際にあなたにとって最小の作業量のようです.

最良のオプションは、SSRS でレポートを作成し、ストアド プロシージャをそのまま参照することです。

于 2012-06-25T06:24:52.477 に答える