Web アプリケーションでの URL アクセスの使用
Reporting Services の URL アクセスは、ネットワークを介して各レポートにアクセスできるように特別に設計されています。この種類のアクセスは、レポートの表示およびナビゲーションをカスタム Web アプリケーションに統合するのに最適です。Web アプリケーションで URL アクセスを使用するには、次の方法があります。
Web サイトまたはポータルから特定のレポート サーバーへの URL を指定する。
フォームの POST メソッドを使用する。さらに、フォーム フィールドを使用してクエリ文字列パラメーターをレポート サーバーの URL に渡す。
直接アドレス指定による URL アクセス
URL を使用してレポート サーバーまたはレポート サーバー データベースのアイテムにアクセスするには、Web ブラウザーまたはアプリケーションで URL アクセスを入力するだけです。また、アクセス中のレポートまたはリソースの外観に影響を与える可能性がある URL にパラメーターを指定することもできます。Web ブラウザーのアドレス バーで URL を指定してレポート サーバーを対象としたり、URL を大規模な Web アプリケーションまたはポータルの一部である IFrame のソースにしたりすることができます。レポートの特定のフレームを対象としたり、その過程で新しいブラウザー ウィンドウを開いたりするだけでなく、ポータルの Web ページでレポートのハイパーリンクを含めることもできます。
次の例では、ハイパーリンクは "main" という名前のフレームを対象とし、ハイパーリンクを含むハイパーリンクとは異なります。ハイパーリンクは、Web ポータルの一部となる場合もあります。
<a href="https://server/reportserver?/SampleReports/Territory Sales
Drilldown&rs:Command=Render&rc:LinkTarget=main" target="main" >
Click here for the Territory Sales Drilldown sample report
</a>
前の例では、URL のクエリ文字列の "main" の値を使用して、デバイス情報設定 LinkTarget が渡されます。これにより、レポートのドリルスルー ハイパーリンクも確実に "main" という名前のフレームを対象とします。
デバイス情報設定の詳細については、「Reporting Services デバイス情報設定」を参照してください。
多くのサーバーおよびブラウザーでは、URL に使用可能な文字数が制限されているので注意してください。場合によっては、256 文字の制限が適用されます。この制限を回避するには、フォーム送信による POST 要求を使用できます。
注 |
---|
Internet Explorer の URL の最大文字数は 2,083 文字です。この制限は、URL を要求する POST および GET に適用されます。ただし、フォームの一部として名前と値の組を送信する場合、POST は URL のサイズによる制限を受けません。これは、名前と値の組が URL でなくヘッダーで転送されるためです。 |
フォームの POST メソッドを使用した URL アクセス
URL アクセスを使用してレポート サーバーからデータを要求する場合、HTTP 要求では GET メソッドを使用します。これは、METHOD="GET" の場合のフォーム送信と同じです。METHOD="GET" を使用した URL 要求またはフォーム送信は、サーバーまたは Web ブラウザーが処理できる最大文字数による制限を受けます。
POST 要求 (METHOD="POST" と入力フィールド) の場合、名前と値の組が URL ではなくヘッダーで転送されます。したがって、クエリ文字列の名前と値の組は URL の一部ではないため、より長い、かつ複雑なパラメーター リストを指定できます。
ユーザーは直接アクセスを使用して、レポート サーバーの URL を表示したり、クエリ文字列を変更したり、後で使用するために特定の URL 要求とレポート サーバー パラメーターを書き留めたりすることができます。
次の HTML サンプルは、特定の URL を使用してレポート サーバーを対象とし、クエリ文字列パラメーターをフォームの入力フィールドの一部として渡すことができるフォームの使用を示します。
<FORM id="frmRender" action="https://server/reportserver?/SampleReports/
Territory Sales Drilldown" method="post" target="_self">
<INPUT type="hidden" name="rs:Command" value="Render">
<INPUT type="hidden" name="rc:LinkTarget" value="main">
<INPUT type="hidden" name="rs:Format" value="HTML4.0">
<INPUT type="submit" value="Button">
</FORM>
前の例では、フォームのボタンをクリックすると、レポート サーバーによって、現在のフレームで対象となっている HTML で表示されたレポートが返されます。前の例に対して、この例での URL アクセスの文字列は、次のようになります。
https://server/reportserver?/SampleReports/Territory Sales
Drilldown&rs:Command=Render&rc:LinkTarget=main&rs:Format=HTML4.0