SQL Server 接続 (SSRS)

SQL Server データベースのデータをレポートに含めるには、種類が Microsoft SQL Server のレポート データ ソースに基づいたデータセットが必要です。このビルトイン データ ソースの種類は、Microsoft SQL Server データ拡張機能に基づいています。現在のバージョンと以前のバージョンの SQL Server データベースに接続してデータを取得するには、このデータソースの種類を使用します。.

このデータ拡張機能は、複数の値を持つパラメーター、サーバー集計、および接続文字列とは別に管理される資格情報をサポートしています。

このトピックの情報を使用して、データ ソースを作成してください。手順の詳細については、「データ接続またはデータ ソースの追加および確認を行う方法 (レポート ビルダー 3.0 および SSRS)」を参照してください。

この記事の内容

接続文字列

資格情報

クエリ

パラメーター

解説

操作方法に関するトピック

関連セクション

接続文字列

SQL Server データベースに接続する場合は、サーバー上の SQL Server インスタンスのデータベース オブジェクトに接続します。データベースには、複数のテーブル、ビュー、およびストアド プロシージャを含むスキーマが複数存在している場合があります。クエリ デザイナーで、使用するデータベース オブジェクトを指定します。接続文字列でデータベースを指定しない場合は、データベース管理者によって割り当てられた既定のデータベースに接続されます。

データ ソースに接続するときに使用する接続情報および資格情報については、データベース管理者に問い合わせてください。ローカル クライアント上のサンプル データベースを指定する接続文字列の例を次に示します。

Data Source=<server>;Initial Catalog=AdventureWorks

接続文字列の例については、「レポート ビルダー 3.0 のデータ接続、データ ソース、および接続文字列」を参照してください。

資格情報

クエリの実行、ローカルでのレポートのプレビュー、およびレポート サーバーからのレポートのプレビューには、資格情報が必要です。

レポートをパブリッシュした後、レポートをレポート サーバーで実行するときに、データを取得するための権限が有効であるように、データ ソースの資格情報を変更することが必要になる場合があります。

レポート作成クライアントから、次のオプションを使用して資格情報を指定します。

  • 現在の Windows ユーザー (統合セキュリティとも呼ばれます)。

  • 保存されているユーザー名とパスワードを使用する。

  • ユーザーに資格情報を要求する。このオプションでは Windows 統合セキュリティのみがサポートされます。

  • 資格情報を必要としない。このオプションを使用するには、レポート サーバーで自動実行アカウントを構成しておく必要があります。詳細については、msdn.microsoft.com にある Reporting Services のドキュメントの「自動実行アカウントの構成」を参照してください。

詳細については、「データ接続、データ ソース、および接続文字列 (SSRS)」または「レポート ビルダー 3.0 での資格情報の指定」を参照してください。

[トップに戻る] リンクで使用される矢印アイコントップに戻る

クエリ

クエリでは、レポート データセット用に取得するデータを指定します。クエリの結果セットの列には、データセットのフィールド コレクションが設定されます。レポートによって処理されるのは、クエリから取得された最初の結果セットだけです。

新しいクエリを作成するか、グラフィカル クエリ デザイナーで表示できる既存のクエリを開く場合、既定でリレーショナル クエリ デザイナーを使用できます。クエリは、次の方法で指定できます。

  • クエリを対話形式で作成します。データベース スキーマ別に編成された、テーブル、ビュー、ストアド プロシージャ、およびその他のデータベース アイテムの階層ビューが表示されるリレーショナル クエリ デザイナーを使用します。テーブルまたはビューから列を選択するか、ストアド プロシージャまたはテーブル値関数を指定します。フィルター条件を指定して、取得するデータの行数を制限します。パラメーター オプションを設定してレポートの実行時にフィルターをカスタマイズします。

  • クエリを入力するか、貼り付けます。テキスト ベースのクエリ デザイナーは、Transact-SQL テキストを直接入力する、クエリ テキストを別のソースから貼り付ける、リレーショナル クエリ デザイナーでは作成できない複雑なクエリを入力する、クエリ ベースの式を入力する、などの場合に使用します。

  • ファイルまたはレポートから既存のクエリをインポートします。クエリ デザイナーの [クエリのインポート] ボタンを使用して、.sql ファイルまたは .rdl ファイルを参照し、クエリをインポートします。

詳細については、「リレーショナル クエリ デザイナーのユーザー インターフェイス (レポート ビルダー 3.0)」および「テキストベースのクエリ デザイナーのユーザー インターフェイス (レポート ビルダー 3.0)」を参照してください。

次のクエリ モードがサポートされています。

  • テキスト   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)

レポート パラメーターは、既定のプロパティ値を使用して作成されます。この既定のプロパティ値は、変更が必要になることがあります。例を次に示します。

  • 各レポート パラメーターの既定のデータ型は [テキスト] です。基になるデータのデータ型が異なる場合は、パラメーターのデータ型を変更する必要があります。

  • 複数値パラメーターのオプションを選択した場合は、クエリを手動で変更し、IN 演算子を使用して値がセットの一部かどうかをテストする必要があります (WHERE EmployeeID IN (@EmpID) など)。

詳細については、「パラメーター (レポート ビルダー 3.0 および SSRS)」を参照してください。

[トップに戻る] リンクで使用される矢印アイコントップに戻る

解説

SQL Server データベースからのデータの取得は、OLE DB または ODBC のデータ ソースの種類を使用して行うこともできます。詳細については、「OLE DB 接続 (SSRS)」または「ODBC 接続 (SSRS)」を参照してください。

プラットフォームおよびバージョン情報

プラットフォームおよびバージョン サポートの詳細については、Reporting Services のドキュメント (SQL Serverオンライン ブック) の「Reporting Services でサポートされるデータ ソース (SSRS)」を参照してください。

[トップに戻る] リンクで使用される矢印アイコントップに戻る

関連セクション

次に示すセクションでは、レポート データの概念に関する詳細な情報と、データに関連するレポートのパーツを定義、カスタマイズ、および使用する手順に関する情報を提供します。

[トップに戻る] リンクで使用される矢印アイコントップに戻る