データ ソースへの接続 (レポート ビルダ 2.0)
レポート ビルダ 2.0 では、次の 2 とおりの方法でレポートにデータ ソースを含めることができます。
レポート サーバー上の共有データ ソースの参照を選択して含めます。レポート データの取得に必要な接続情報はレポート サーバーに保存されています。
各自のレポートでのみ使用される埋め込みデータ ソースを作成します。接続情報と使用する資格情報を指定する必要があります。
詳細については、「埋め込みデータ ソースと共有データ ソースの操作 (レポート ビルダ 2.0)」および「レポート データ ソースの資格情報の指定 (レポート ビルダ 2.0)」を参照してください。
埋め込みデータ ソースの指定
データ ソース定義では、データ ソースの種類、接続文字列、および資格情報を指定します。データ ソース定義は、複数のレポートで使用するために共有することも、レポート定義に埋め込むこともできます。新しいデータ ソース定義を作成するか、または既存の共有データ ソースを使用できます。データ ソースに接続するには、次の情報が必要です。
**データ ソースの種類。**特定の種類のデータ ソース。たとえば、MicrosoftSQL Server です。この値は、サポートされている次のデータ ソースの種類のリストから選択します。
Microsoft SQL Server
Microsoft SQL Server Analysis Services
OLE DB
Oracle
ODBC
SAP NetWeaver BI
Hyperion Essbase
Teradata
XML
注意 レポート モデルをデータ ソースとして使用することもできます。レポート モデルはレポート サーバーから直接参照して選択できるので、他の作成環境で使用できるレポート サーバー モデルというデータ ソースの種類は、レポート ビルダ 2.0 には含まれていません。
**接続情報。**接続文字列とも呼ばれます。接続情報には、データ ソースの名前と場所が含まれ、場合によっては特定のバージョンのデータ プロバイダの名前と場所が含まれています。データ ソースがデータベースの場合は、データベースの名前を接続文字列に含めることができます。埋め込みデータ ソースの場合は、実行時に評価される式に基づく接続文字列を記述することもできます。詳細については、「接続の例 (レポート ビルダ 2.0)」を参照してください。
権限。指定した資格情報を使用してデータ ソースおよびデータ ソースの特定のデータにアクセスするには、適切な権限を許可されていることが必要です。たとえば、ネットワーク サーバーにインストールされた AdventureWorks2008 サンプル データベースに接続するには、サーバーに接続する権限およびデータベースにアクセスする読み取り専用権限が必要です。
注意 ローカル システムでレポートのプレビューに使用する資格情報は、パブリッシュされたレポートの表示に必要な資格情報とは異なります。詳細については、「レポート データ ソースの資格情報の指定 (レポート ビルダ 2.0)」を参照してください。
データ ソースに接続すると、データ ソース定義がレポート データ ペインに表示されます。レポート データ ペインには、埋め込みデータ ソースおよび共有データ ソースへの参照が表示されます。
詳細については、以下のトピックを参照してください。
式に基づく接続文字列
式に基づく接続文字列は実行時に評価されます。式に基づく文字列は、レポート サーバーに接続している場合にしか使用できません。
たとえば、データ ソースをパラメータとして指定し、接続文字列にパラメータ参照を含めて、ユーザーがレポートのデータ ソースを選択できるようにすることができます。たとえば、多国籍企業がいくつもの国にデータ サーバーを持っていると仮定します。式ベースの接続文字列を使用すると、販売レポートを実行するユーザーは、レポートの実行前に特定の国のデータ ソースを選択することができます。
次の例では、SQL Server の接続文字列でデータ ソースの式を使用する方法を示します。この例では、ServerName というレポート パラメータが作成されているものとします。
="data source=" & Parameters!ServerName.Value & ";initial catalog=AdventureWorks
データ ソースの式は、実行時またはレポートのプレビュー時に処理されます。式は、Visual Basic で記述する必要があります。データ ソースの式を定義する際には、次のガイドラインに従います。
静的な接続文字列を使用してレポートをデザインする。静的な接続文字列とは、式を使わずに設定した接続文字列です (たとえば、レポート固有のデータ ソースまたは共有データ ソースの作成手順に従うと、静的な接続文字列を定義することになります)。静的な接続文字列を使用することで、データ ソースに接続し、レポートの作成に必要なクエリ結果を取得することができます。
データ ソースの接続を定義する際には、共有データ ソースを使用しない。共有データ ソース内では、データ ソースの式を使用できません。レポートの埋め込みデータ ソースを定義する必要があります。
資格情報は接続文字列とは別に指定する。保存された資格情報、要求された資格情報、または統合セキュリティを使用することができます。
レポート パラメータを追加してデータ ソースを指定する。パラメータ値には、使用可能な値の静的な一覧を指定するか (この場合、使用可能な値には、レポートで使用できるデータ ソースを指定する必要があります)、実行時にデータ ソースの一覧を取得するクエリを定義します。
データ ソースの一覧が同じデータベース スキーマを共有するようにする。すべてのレポートのデザインは、スキーマ情報から始まります。レポートの定義で使用されているスキーマと、実行時にレポートが使用する実際のスキーマが一致しないと、レポートが実行されない場合があります。
レポートをパブリッシュする前に、静的な接続文字列を式で置き換える。レポートのデザインが完了するまでは、静的な接続文字列を式で置き換えません。式を使用すると、レポート ビルダ 2.0 内でクエリを実行できなくなります。さらに、レポート データ ペイン内のフィールド一覧と、[パラメータ] の一覧が、自動的に更新されなくなります。
パスワードの特殊文字
パスワードを要求したり、接続文字列にパスワードを含めるように ODBC データ ソースや SQL データ ソースを構成し、ユーザーが句読点のような特殊文字を使用してパスワードを入力した場合、基になるデータ ソースのドライバによってはその特殊文字を検証することができません。レポートを処理する際に、この問題によって、"パスワードが無効です" というメッセージが表示される場合があります。パスワードを変更できない場合は、データベース管理者と連携して、適切な資格情報をシステム ODBC データ ソース名 (DSN) の一部としてサーバーに格納することができます。詳細については、.NET Framework SDK ドキュメントの「OdbcConnection.ConnectionString」を参照してください。
注意 |
---|
パスワードなどのログイン情報を接続文字列に追加しないことをお勧めします。レポート ビルダ 2.0 では、[データ ソース] ダイアログ ボックスに、資格情報の入力に使用できるタブが別に用意されています。ここで入力した資格情報は、レポート ビルダ 2.0 が動作するコンピュータ上に安全に保管されます。 |