データ接続、データ ソース、および接続文字列 (SSRS)

レポートにデータを含めるには、最初にデータ接続 (データ ソースとも呼ばれます) を作成し、次にデータセットを作成する必要があります。データ接続には、データ ソースの種類、接続情報、および使用する資格情報の種類が含まれます。データ ソースには、埋め込みと共有の 2 種類があります。埋め込みデータ ソースは、レポート定義内で定義され、そのレポートでのみ使用されます。共有データ ソースは、レポートとは別個に定義され、複数のレポートで使用できます。詳細については、「埋め込みデータ接続/データ ソースおよび共有データ接続/データ ソース (レポート ビルダー 3.0 および SSRS)」および「埋め込みデータセットと共有データセット (レポート ビルダー 3.0 および SSRS)」を参照してください。

注意

レポート定義 (.rdl) は、Business Intelligence Development Studio のレポート ビルダー 3.0 およびレポート デザイナーで作成および変更できます。これらの作成環境では、レポートおよび関連アイテムの作成方法、開く方法、および保存方法が異なります。詳細については、microsoft.com Web サイトの「レポート デザイナーとレポート ビルダー 3.0 でのレポートのデザイン (SSRS)」を参照してください。

埋め込みデータ ソースと共有データ ソースとでは、作成、格納、管理の方法が異なります。

  • レポート デザイナーでは、埋め込みデータ ソースまたは共有データ ソースを Business Intelligence Development Studio プロジェクトの一部として作成します。プレビュー用にローカルに使用するか、またはプロジェクトの一部としてレポート サーバーまたは SharePoint サイトに配置するかを制御できます。自分のコンピューターおよびレポートを配置するレポート サーバーまたは SharePoint サイトにインストールされているカスタム データ拡張機能を使用できます。

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

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

  • レポート ビルダーで、レポート サーバーまたは SharePoint サイトを参照し、共有データ ソースを選択するか、または埋め込みデータ ソースをレポートに作成します。共有データ ソースは、レポート ビルダーで作成することはできません。レポート ビルダーでは、カスタム データ拡張機能を使用できません。

各レポート作成環境の相違については、「レポート デザイナーおよびレポート ビルダー 3.0 を使用したレポートのデザイン (SSRS)」および「レポート作成環境の比較」を参照してください。

組み込みのデータ拡張機能には、次の種類のデータ接続が含まれています。

  • Microsoft SQL Server

  • Microsoft SQL Server Analysis Services

  • Microsoft SharePoint リスト

  • Microsoft SQL Azure

  • Microsoft SQL Server 並列データ ウェアハウス

  • OLE DB

  • Oracle

  • SAP NetWeaver BI

  • Hyperion Essbase

  • Teradata

  • XML

  • ODBC

URL をレポート モデルに指定することもできます。

例については、「一般的な接続文字列の例」を参照してください。

データ ソースの指定

データ ソースを作成するには、次の情報が必要です。

  • データ ソースの種類   接続の種類。たとえば、Microsoft SQL Server です。この値は、接続の種類のドロップダウン リストから選択します。 

  • 接続情報   接続情報には、データ ソースの名前と場所、および各データ プロバイダーに固有の接続プロパティが含まれます。接続文字列は、接続情報のテキスト表現です。たとえば、データ ソースが SQL Server データベースの場合は、データベースの名前を指定できます。埋め込みデータ ソースの場合は、実行時に評価される式に基づく接続文字列を記述することもできます。詳細については、このトピックで後述する「式に基づく接続文字列」を参照してください。

  • 資格情報   データにアクセスするために必要な資格情報を指定します。データ ソースとデータ ソース上の特定のデータの両方にアクセスするために必要な権限がデータ ソースの所有者から与えられている必要があります。たとえば、ネットワーク サーバーにインストールされた AdventureWorks サンプル データベースに接続するには、サーバーに接続する権限およびデータベースにアクセスする読み取り専用権限が必要です。

    注意

    仕様上、資格情報はデータ ソースとは別に管理されます。ローカル システムでレポートのプレビューに使用する資格情報は、パブリッシュされたレポートの表示に必要な資格情報とは異なります。データ ソースをレポート サーバーまたは SharePoint サイトに保存した後、その場所から作業するために資格情報を変更することが必要になる場合があります。詳細については、「データ ソースの資格情報」を参照してください。

注意

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

レポート データ ペインには、レポートに追加された埋め込みデータ ソースおよび共有データ ソースへの参照が表示されます。レポート ビルダーでは、共有データ ソースの参照は、レポート サーバーまたは SharePoint サイト上の共有データ ソースを指します。レポート デザイナーでは、共有データ ソースの参照は、ソリューション エクスプローラーの [共有データ ソース] フォルダーの下の共有データ ソースを指します。

一般的な接続文字列の例

接続文字列は、データ プロバイダーの接続プロパティのテキスト表現です。次の表に、さまざまなデータ接続の種類の接続文字列の例を示します。

データ ソース

説明

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

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

データ ソースの種類を Microsoft SQL Server に設定します。詳細については、「SQL Server 接続 (SSRS)」を参照してください。

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

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

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

SQL Server インスタンス

データベース

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

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

SQL Server Express データベース

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

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

クラウド内の SQL Azure データベース

Data Source=<host>;Initial Catalog=AdventureWorks; Encrypt=True

データ ソースの種類を Microsoft SQL Azure に設定します。詳細については、「SQL Azure 接続 (SSRS)」を参照してください。

SQL Server 並列データ ウェアハウス

HOST=<IP address>;database= AdventureWorks; port=<port>

データ ソースの種類を Microsoft SQL Server Parallel Data Warehouse に設定します。詳細については、「SQL Server 並列データ ウェアハウス接続 (SSRS)」を参照してください。

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

data source=localhost;initial catalog=Adventure Works DW

データ ソースの種類を Microsoft SQL Server Analysis Services に設定します。詳細については、「MDX の Analysis Services 接続 (SSRS)」または「DMX の Analysis Services 接続 (SSRS)」を参照してください。

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

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

レポート サーバーまたはドキュメント ライブラリの URL と、レポート サーバー フォルダーまたはドキュメント ライブラリ フォルダーの名前空間内のパブリッシュされたモデルへのパスを指定します。詳細については、「レポート モデル接続 (SSRS)」を参照してください。

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 接続 (SSRS)」を参照してください。

SAP NetWeaver BI データ ソース

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

データ ソースの種類を SAP NetWeaver BI に設定します。詳細については、「SAP NetWeaver BI 接続 (SSRS)」を参照してください。

Hyperion Essbase データ ソース

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

データ ソースの種類を Hyperion Essbase に設定します。詳細については、「Hyperion Essbase 接続 (SSRS)」を参照してください。

Teradata データ ソース

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

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

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

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

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

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

https://localhost/XML/Customers.xml

データ ソースの種類を XML に設定します。接続文字列は XML ドキュメントへの URL です。

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

データ ソースの種類を XML に設定します。XML データはレポート定義に埋め込まれます。

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

これらの種類のデータ ソースへの接続に必要な設定の詳細については、「外部データ ソースからのデータの追加 (SSRS)」または「Reporting Services でサポートされるデータ ソース (SSRS)」の特定のデータ接続に関するトピックを参照してください。

データ ソースの資格情報

仕様上、資格情報は接続情報とは別個に保存および管理できます。資格情報は、データ ソースの作成、データセット クエリの実行、およびレポートのプレビューを行うときに使用されます。

注意

データ ソースの接続プロパティには、ログイン情報 (ログイン名、パスワードなど) を含めないことをお勧めします。できる限り、資格情報が保存されている共有データ ソースを使用してください。作成環境では、[データ ソース] ダイアログ ボックスの [資格情報] ページを使用して、データ接続を作成するとき、または、データセット クエリを実行するときに資格情報を入力します。

データ アクセス用にコンピューターから入力する資格情報は、ローカル プロジェクトの構成ファイルに安全に保存されます。この資格情報は、お使いのコンピューターに固有の情報です。プロジェクト ファイルを別のコンピューターにコピーするときは、データ ソースの資格情報を再定義する必要があります。

レポートをレポート サーバーまたは SharePoint サイトに配置する場合、埋め込みデータ ソースと共有データ ソースは別個に管理されます。ローカル コンピューターからデータにアクセスするために必要なデータ ソース資格情報は、レポート サーバーからデータにアクセスするために必要な資格情報とは異なる場合があります。レポートをパブリッシュした後もデータ ソース接続が正常に継続していることを確認することをお勧めします。資格情報を変更する必要がある場合は、レポート サーバー上で直接変更できます。

レポートで使用するデータ ソースを変更するには、レポート サーバー フォルダーに移動し、データ ソースの名前を選択して、レポートのプロパティを手動で変更します。詳細については、「レポートまたはモデルを共有データ ソースにバインドする方法」を参照してください。

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

パスワードの特殊文字

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

式に基づく接続文字列

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

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

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

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

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

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

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

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

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

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