データ ソースへの接続 (Reporting Services)

データ ソース定義では、データ ソースの種類、接続文字列、および資格情報を指定します。データ ソース定義は、複数のレポートで使用するために共有することも、レポート定義に埋め込むこともできます。詳細については、「レポート データ ソースの管理」を参照してください。

保持されているデータ ソースの接続情報は、データ ソースの種類によって異なります。Reporting Services では、次の種類のデータ ソースをサポートするデータ拡張機能が提供されています。

  • Microsoft SQL Server

  • Microsoft SQL Server Analysis Services

  • OLE DB

  • Oracle

  • ODBC

  • レポート サーバー モデル

  • SAP NetWeaver BI

  • Hyperion Essbase

  • Teradata

  • XML

システム管理者は、別のデータ処理拡張機能および .NET Framework データ プロバイダをインストールおよび設定できます。詳細については、「データ処理拡張機能と .NET Framework データ プロバイダー」を参照してください。

Microsoft.ReportingServices.DataProcessing API を使用してデータ処理拡張機能を作成すると、その他の種類のデータ ソースもサポートできます。

データ ソースの指定

レポートを最初に作成する際には、データ ソース定義を作成するように求められます。新しいデータ ソース定義を作成するか、または既存の共有データ ソースを使用できます。データ ソースに接続するには、次の情報が必要です。

  • **データ ソースの種類。**特定の種類のデータ ソース。たとえば、MicrosoftSQL Server です。この値は、サポートされているデータ ソースの種類のリストから選択します。

  • **接続情報。**接続文字列とも呼ばれます。接続情報には、データ ソースの名前と場所が含まれ、場合によっては特定のバージョンのデータ プロバイダの名前と場所が含まれています。データ ソースがデータベースの場合は、データベースの名前を接続文字列に含めることができます。埋め込みデータ ソースの場合は、実行時に評価される式に基づく接続文字列を記述することもできます。詳細については、このトピックで後述する「式に基づく接続文字列」を参照してください。

  • **権限。**指定した資格情報を使用してデータ ソースおよびデータ ソースの特定のデータにアクセスするには、適切な権限を許可されていることが必要です。たとえば、ネットワーク サーバーにインストールされた AdventureWorks サンプル データベースに接続するには、サーバーに接続する権限およびデータベースにアクセスする読み取り専用権限が必要です。

    注意注意

    ローカル システムでレポートのプレビューに使用する資格情報は、パブリッシュされたレポートの表示に必要な資格情報とは異なります。詳細については、「データ ソースへの接続を確認する方法」を参照してください。

データ ソースに接続すると、データ ソース定義がレポート データ ペインに表示されます。レポート データ ペインには、埋め込みデータ ソースおよび共有データ ソースへの参照が表示されます。共有データ ソースは、ソリューション エクスプローラの [共有データ ソース] フォルダの下に表示されます。レポート データ ペインでは、レポートに対して追加のデータ ソースを指定できます。

詳細については、次のトピックを参照してください。

注意注意

Business Intelligence Development Studio でレポートの埋め込みデータ ソースを作成する場合は、サーバー エクスプローラではなくレポート デザイナでデータ ソースを作成する必要があります。SQL Server レポート デザイナでは、サーバー エクスプローラで作成した Visual Studio データ ソースは使用されません。

一般的な接続文字列の例

次の表に、さまざまなデータ ソースの接続文字列の例を示します。これらの種類のデータ ソースへの接続に必要な設定の詳細については、「Reporting Services でサポートされるデータ ソース」を参照してください。

データ ソース

説明

ローカル サーバーの SQL Server データベース

data source="(local)";initial catalog=AdventureWorks

データ ソースの種類を SQL Server に設定します。

ローカル サーバーの SQL Server データベース

data source="(local)";initial catalog=AdventureWorks

データ ソースの種類を SQL Server に設定します。

SQL Server インスタンス

データベース

Data Source=localhost\MSSQL10.InstanceName; Initial Catalog=AdventureWorks

データ ソースの種類を SQL Server に設定します。

SQL Server Express データベース

Data Source=localhost\MSSQL10.SQLEXPRESS; Initial Catalog=AdventureWorks

データ ソースの種類を SQL Server に設定します。

ローカル サーバーの Analysis Services データベース

data source=localhost;initial catalog=Adventure Works DW

データ ソースの種類を SQL Server Analysis Services に設定します。

ネイティブ モードで構成されているレポート サーバーのレポート モデル データ ソース

Server=http://myreportservername/reportserver; datasource=/models/Adventure Works

レポート サーバーまたはドキュメント ライブラリの URL と、レポート サーバー フォルダまたはドキュメント ライブラリ フォルダの名前空間内のパブリッシュされたモデルへのパスを指定します。

SharePoint 統合モードで構成されているレポート サーバーのレポート モデル データ ソース

Server=https://server; datasource=https://server/site/documents/models/Adventure Works.smdl

レポート サーバーまたはドキュメント ライブラリの URL と、レポート サーバー フォルダまたはドキュメント ライブラリ フォルダの名前空間内のパブリッシュされたモデルへのパスを指定します。

SQL Server 2000 Analysis Services サーバー

provider=MSOLAP.2;data source=<remote server name>;initial catalog=FoodMart 2000

データ ソースの種類を OLE DB Provider for OLAP Services 8.0 に設定します。

ConnectTo プロパティを 8.0 に設定すると、SQL Server 2000 Analysis Services のデータ ソースにより高速に接続できるようになります。このプロパティを設定するには、[接続プロパティ] ダイアログ ボックスの [詳細プロパティ] タブを使用します。

Oracle サーバー

data source=myserver

データ ソースの種類を Oracle に設定します。レポート デザイナがインストールされているコンピュータとレポート サーバーに、Oracle クライアント ツールがインストールされている必要があります。詳細については、「Oracle データベースからのレポート データセットの作成」を参照してください。

SAP NetWeaver BI データ ソース

DataSource=http://mySAPNetWeaverBIServer:8000/sap/bw/xml/soap/xmla

データ ソースの種類を SAP NetWeaver BI に設定します。詳細については、「SAP NetWeaver BI データ ソースからのレポート データセットの作成」を参照してください。

Hyperion Essbase データ ソース

Data Source=https://localhost:13080/aps/XMLA; Initial Catalog=Sample

データ ソースの種類を Hyperion Essbase に設定します。詳細については、「Hyperion Essbase データ ソースからのレポート データセットの作成」を参照してください。

Teradata データ ソース

data source=<NNN>.<NNN>.<NNN>.<NNN>;

データ ソースの種類を Teradata に設定します。接続文字列は、各フィールドが 1 ~ 3 桁の 4 つのフィールドで構成されるインターネット プロトコル (IP) アドレスです。

XML データ ソース、Web サービス

data source=http://adventure-works.com/results.aspx

データ ソースの種類を XML に設定します。接続文字列は、Web サービス記述言語 (WSDL) をサポートする Web サービスの URL です。詳細については、「XML データからのレポート データセットの作成」を参照してください。

XML データ ソース、XML ドキュメント

https://localhost/XML/Customers.xml

データ ソースの種類を XML に設定します。接続文字列は XML ドキュメントへの URL です。詳細については、「XML データからのレポート データセットの作成」を参照してください。

XML データ ソース、埋め込み XML ドキュメント

データ ソースの種類を XML に設定します。XML データはレポート定義に埋め込まれます。詳細については、「XML データからのレポート データセットの作成」を参照してください。

localhost を使用してレポート サーバーに接続できない場合は、TCP/IP プロトコルのネットワーク プロトコルが有効になっていることを確認します。詳細については、「SQL Server データベース エンジンへの接続」を参照してください。

データ ソースの資格情報

BI Development Studio のレポート デザイナでレポートをプレビューする場合、レポート プロセッサはデータ ソースを作成するときに指定した資格情報を使用してデータ ソースからデータを取得します。これらの資格情報は、ローカル プロジェクト構成ファイルに格納され、資格情報が格納されるコンピュータに固有です。プロジェクト ファイルを別のコンピュータにコピーするときは、データ ソースの資格情報を再定義する必要があります。

レポートをパブリッシュする場合、ローカルで使用した資格情報ではレポート サーバーでのレポートの表示には十分でない場合があります。ローカル コンピュータからデータにアクセスするために必要なデータ ソース資格情報は、レポート サーバーからデータにアクセスするために必要な資格情報とは異なる場合があります。レポート サーバーにレポートをパブリッシュした後もデータ ソース接続が正常に継続していることを確認することをお勧めします。資格情報を変更する必要がある場合は、レポート サーバー上で直接変更できます。詳細については、「レポート データ ソースに関する資格情報と接続情報の指定」および「データ ソースの資格情報を保存する方法 (レポート マネージャ)」を参照してください。

式に基づく接続文字列

式に基づく接続文字列は実行時に評価されます。たとえば、データ ソースをパラメータとして指定し、接続文字列にパラメータ参照を含めて、ユーザーがレポートのデータ ソースを選択できるようにすることができます。たとえば、多国籍企業がいくつもの国にデータ サーバーを持っていると仮定します。式ベースの接続文字列を使用すると、販売レポートを実行するユーザーは、レポートの実行前に特定の国のデータ ソースを選択することができます。

次の例では、SQL Server の接続文字列でデータ ソースの式を使用する方法を示します。この例では、ServerName というレポート パラメータが作成されているものとします。

="data source=" & Parameters!ServerName.Value & ";initial catalog=AdventureWorks

データ ソースの式は、実行時またはレポートのプレビュー時に処理されます。式は、Visual Basic で記述する必要があります。データ ソースの式を定義する際には、次のガイドラインに従います。

  • 静的な接続文字列を使用してレポートをデザインする。静的な接続文字列とは、式を使わずに設定した接続文字列です (たとえば、レポート固有のデータ ソースまたは共有データ ソースの作成手順に従うと、静的な接続文字列を定義することになります)。静的な接続文字列を使用することで、レポート デザイナでデータ ソースに接続し、レポートの作成に必要なクエリ結果を取得することができます。

  • データ ソースの接続を定義する際には、共有データ ソースを使用しない。共有データ ソース内では、データ ソースの式を使用できません。レポートの埋め込みデータ ソースを定義する必要があります。

  • 資格情報は接続文字列とは別に指定する。保存された資格情報、要求された資格情報、または統合セキュリティを使用することができます。

  • レポート パラメータを追加してデータ ソースを指定する。パラメータ値には、使用可能な値の静的な一覧を指定するか (この場合、使用可能な値には、レポートで使用できるデータ ソースを指定する必要があります)、実行時にデータ ソースの一覧を取得するクエリを定義します。

  • データ ソースの一覧が同じデータベース スキーマを共有するようにする。すべてのレポートのデザインは、スキーマ情報から始まります。レポートの定義で使用されているスキーマと、実行時にレポートが使用する実際のスキーマが一致しないと、レポートが実行されない場合があります。

  • レポートをパブリッシュする前に、静的な接続文字列を式で置き換える。レポートのデザインが完了するまでは、静的な接続文字列を式で置き換えません。式を使用すると、レポート デザイナ内でクエリを実行できなくなります。さらに、レポート データ ペイン内のフィールド一覧と、[パラメータ] の一覧が、自動的に更新されなくなります。

パスワードの特殊文字

パスワードを要求したり、接続文字列にパスワードを含めるように ODBC データ ソースや SQL データ ソースを構成し、ユーザーが句読点のような特殊文字を使用してパスワードを入力した場合、基になるデータ ソースのドライバによってはその特殊文字を検証することができません。レポートを処理する際に、この問題によって、"パスワードが無効です" というメッセージが表示される場合があります。パスワードを変更できない場合は、データベース管理者と連携して、適切な資格情報をシステム ODBC データ ソース名 (DSN) の一部としてサーバーに格納することができます。詳細については、.NET Framework SDK ドキュメントの「OdbcConnection.ConnectionString」を参照してください。

注意注意

パスワードなどのログイン情報を接続文字列に追加しないことをお勧めします。レポート デザイナでは、[データ ソース] ダイアログ ボックスに、資格情報の入力に使用できるタブが別に用意されています。ここで入力した資格情報は、レポート デザイナが動作するコンピュータ上に安全に保管されます。