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