SQL Server の接続の種類 (SSRS)
SQL Server データベースのデータをレポートに含めるには、種類が Microsoft SQL Server のレポート データ ソースに基づいたデータセットが必要です。 このビルトイン データ ソースの種類は、Microsoft SQL Server データ拡張機能に基づいています。 現在のバージョンと以前のバージョンの SQL Server データベースに接続してデータを取得するには、このデータ ソースの種類を使用します。
このデータ拡張機能は、複数の値を持つパラメーター、サーバー集計、および接続文字列とは別に管理される資格情報をサポートしています。
このトピックの情報を使用して、データ ソースを構築してください。 手順の詳細については、「データ接続またはデータ ソースの追加および確認 (レポート ビルダーおよび SSRS)」を参照してください。
この記事の内容
接続文字列
資格情報
クエリ
パラメーター
解説
操作方法に関するトピック
関連するセクション
接続文字列
SQL Server データベースに接続する場合は、サーバー上の SQL Server インスタンスのデータベース オブジェクトに接続します。 データベースには、複数のテーブル、ビュー、およびストアド プロシージャを含むスキーマが複数存在している場合があります。 クエリ デザイナーで、使用するデータベース オブジェクトを指定します。 接続文字列でデータベースを指定しない場合は、データベース管理者によって割り当てられた既定のデータベースに接続されます。
データ ソースに接続するときに使用する接続情報および資格情報については、データベース管理者に問い合わせてください。 ローカル クライアント上のサンプル データベースを指定する接続文字列の例を次に示します。
Data Source=<server>;Initial Catalog=AdventureWorks
接続文字列の例については、「レポート ビルダーでのデータ接続、データ ソース、および接続文字列」を参照してください。
資格情報
クエリの実行、ローカルでのレポートのプレビュー、およびレポート サーバーからのレポートのプレビューには、資格情報が必要です。
レポートをパブリッシュした後、レポートをレポート サーバーで実行するときに、データを取得するための権限が有効な状態になるように、データ ソースの資格情報を変更する必要が生じる場合があります。
レポート作成クライアントから、次のオプションを使用して資格情報を指定します。
現在の Windows ユーザー (統合セキュリティとも呼ばれます)。
保存されているユーザー名とパスワードを使用する。
ユーザーに資格情報を要求する。 このオプションでは Windows 統合セキュリティのみがサポートされます。
資格情報を必要としない。 このオプションを使用するには、レポート サーバーで自動実行アカウントを構成しておく必要があります。 詳細については、msdn.microsoft.com にある Reporting Services のドキュメントの「自動実行アカウントの構成」を参照してください。
詳細については、「データ接続、データ ソース、および接続文字列 (SSRS)」または「レポート ビルダーでの資格情報の指定」を参照してください。
トップに戻る
クエリ
クエリでは、レポート データセット用に取得するデータを指定します。 クエリの結果セットの列には、データセットのフィールド コレクションが設定されます。 レポートによって処理されるのは、クエリから取得された最初の結果セットだけです。
新しいクエリを作成するか、グラフィカル クエリ デザイナーで表示できる既存のクエリを開く場合、既定でリレーショナル クエリ デザイナーを使用できます。 クエリは、次の方法で指定できます。
クエリを対話形式で作成します。 データベース スキーマ別に編成された、テーブル、ビュー、ストアド プロシージャ、およびその他のデータベース アイテムの階層ビューが表示されるリレーショナル クエリ デザイナーを使用します。 テーブルまたはビューから列を選択するか、ストアド プロシージャまたはテーブル値関数を指定します。 フィルター条件を指定して、取得するデータの行数を制限します。 パラメーター オプションを設定してレポートの実行時にフィルターをカスタマイズします。
クエリを入力するか、貼り付けます。 テキスト ベースのクエリ デザイナーは、Transact-SQL テキストを直接入力する、クエリ テキストを別のソースから貼り付ける、リレーショナル クエリ デザイナーでは作成できない複雑なクエリを入力する、クエリ ベースの式を入力する、などの場合に使用します。
ファイルまたはレポートから既存のクエリをインポートします。 クエリ デザイナーの [クエリのインポート] ボタンを使用して、.sql ファイルまたは .rdl ファイルを参照し、クエリをインポートします。
詳細については、「リレーショナル クエリ デザイナーのユーザー インターフェイス (レポート ビルダー)」および「テキストベースのクエリ デザイナーのユーザー インターフェイス (レポート ビルダー)」を参照してください。
次のクエリ モードがサポートされています。
テキスト Transact-SQL コマンドを入力します。
ストアド プロシージャ ストアド プロシージャの一覧から選択します。
Text の種類のクエリの使用
テキスト ベースのクエリ デザイナーでは、Transact-SQL コマンドを入力して、データセット内のデータを定義できます。 たとえば、次の Transact-SQL クエリでは、マーケティング アシスタントであるすべての従業員の名前を選択します。
SELECT
HumanResources.Employee.BusinessEntityID
,HumanResources.Employee.JobTitle
,Person.Person.FirstName
,Person.Person.LastName
FROM
Person.Person
INNER JOIN HumanResources.Employee
ON Person.Person.BusinessEntityID = HumanResources.Employee.BusinessEntityID
WHERE HumanResources.Employee.JobTitle = 'Marketing Assistant'
ツール バーの [実行] ボタン (!) をクリックすると、クエリが実行され、結果セットが表示されます。
このクエリをパラメーター化するには、クエリ パラメーターを追加します。 たとえば、WHERE 句を次の構文に変更します。
WHERE HumanResources.Employee.JobTitle = (@JobTitle)
クエリの実行時に、クエリ パラメーターに対応するレポート パラメーターが自動的に作成されます。 詳細については、このトピックの「クエリ パラメーター」を参照してください。
トップに戻る
StoredProcedure の種類のクエリの使用
データセット クエリのストアド プロシージャは、次のいずれかの方法で指定できます。
[データセットのプロパティ] ダイアログ ボックスで、[ストアド プロシージャ] オプションを設定します。 ドロップダウン リストからストアド プロシージャまたはテーブル値関数を選択します。
リレーショナル クエリ デザイナーのデータベース ビュー ペインで、ストアド プロシージャまたはテーブル値関数を選択します。
テキスト ベースのクエリ デザイナーで、ツール バーから [StoredProcedure] を選択します。
ストアド プロシージャまたはテーブル値関数を選択したら、クエリを実行できます。 入力パラメーター値の入力を要求されます。 クエリの実行時に、入力パラメーターに対応するレポート パラメーターが自動的に作成されます。 詳細については、このトピックの「クエリ パラメーター」を参照してください。
ストアド プロシージャから取得した最初の結果セットだけがサポートされます。 ストアド プロシージャから複数の結果セットが返された場合、最初の結果セットだけが使用されます。
既定値が指定されたパラメーターがストアド プロシージャに含まれている場合、パラメーターの値として DEFAULT キーワードを使用してその値にアクセスできます。 クエリ パラメーターがレポート パラメーターにリンクされている場合は、レポート パラメーターの入力ボックスで DEFAULT キーワードを入力または指定できます。
詳細については、msdn.microsoft.com にある SQL Server オンライン ブックの「ストアド プロシージャ (データベース エンジン)」を参照してください。
トップに戻る
パラメーター
入力パラメーターを含むクエリ変数またはストアド プロシージャがクエリ テキストに含まれている場合、対応するデータセットのクエリ パラメーターとレポートのレポート パラメーターが自動的に生成されます。 クエリ テキストには、各クエリ変数の DECLARE ステートメントを含めないでください。
たとえば、次の SQL クエリでは、EmpID という名前のレポート パラメーターが作成されます。
SELECT FirstName, LastName FROM HumanResources.Employee E INNER JOIN
Person.Contact C ON E.ContactID=C.ContactID
WHERE EmployeeID = (@EmpID)
レポート パラメーターは、既定のプロパティ値を使用して作成されます。この既定のプロパティ値は、変更が必要になることがあります。 次に例を示します。
各レポート パラメーターの既定のデータ型は Text です。 基になるデータのデータ型が異なる場合は、パラメーターのデータ型を変更する必要があります。
複数値パラメーターのオプションを選択した場合は、クエリを手動で変更し、IN 演算子を使用して値がセットの一部かどうかをテストする必要があります (WHERE EmployeeID IN (@EmpID) など)。
詳細については、「レポート パラメーター (レポート ビルダーおよび SSRS)」を参照してください。
トップに戻る
解説
SQL Server データベースからのデータの取得は、OLE DB または ODBC のデータ ソースの種類を使用して行うこともできます。 詳細については、「OLE DB の接続の種類 (SSRS)」または「ODBC の接続の種類 (SSRS)」を参照してください。
プラットフォームおよびバージョン情報
プラットフォームおよびバージョン サポートの詳細については、SQL Server オンライン ブックにある Reporting Services ドキュメントの「Reporting Services でサポートされるデータ ソース (SSRS)」を参照してください。
トップに戻る
操作方法に関するトピック
データ接続、データ ソース、およびデータセットを操作する手順について説明します。
データ接続またはデータ ソースの追加および確認 (レポート ビルダーおよび SSRS)
共有データセットまたは埋め込みデータセットの作成 (レポート ビルダーおよび SSRS)
データセットへのフィルターの追加 (レポート ビルダーおよび SSRS)
トップに戻る
関連するセクション
次に示すセクションでは、レポート データの概念が詳細に説明されているほか、データに関連するレポートのパーツを定義しカスタマイズし使用する手順が説明されています。
レポートへのデータの追加 (レポート ビルダーおよび SSRS)
レポートのデータへのアクセスの概要について説明します。レポート ビルダーでのデータ接続、データ ソース、および接続文字列
データ接続とデータ ソースについて説明します。レポート埋め込みデータセットと共有データセット (レポート ビルダーおよび SSRS)
埋め込みデータセットと共有データセットについて説明します。データセット フィールド コレクション (レポート ビルダーおよび SSRS)
クエリによって生成されるデータセット フィールド コレクションについて説明します。Reporting Services でサポートされるデータ ソース (SSRS) (SQL Serverオンライン ブックにある Reporting Services のドキュメント)
各データ拡張機能のプラットフォームおよびバージョン サポートに関する詳細な情報です。
トップに戻る
関連項目
概念
レポート パラメーター (レポート ビルダーおよび SSRS)