Intégrer Reporting Services à l’aide de l’accès URL - Application web
L’accès URL dans Reporting Services est conçu pour permettre l’accès à des rapports individuels sur un réseau. Ce type d'accès convient pour intégrer l'affichage des rapports et la navigation au sein de ces derniers dans une application Web personnalisée. Pour utiliser l'accès URL dans des applications Web, vous pouvez :
définir une URL vers un serveur de rapports spécifique à partir d'un site ou d'un portail Web ;
utiliser une méthode POST de formulaire et passer des paramètres de chaîne de requête à une URL du serveur de rapports à l'aide de champs de formulaire.
Accès URL via l’adressage direct
Pour accéder à un serveur de rapports ou à un élément de base de données du serveur de rapports à l’aide d’une URL, fournissez l’adresse URL à partir d’un navigateur web ou d’une application. Vous pouvez également fournir des paramètres à l'URL qui peuvent affecter l'apparence du rapport ou de la ressource en cours d'accès. Une URL peut cibler un serveur de rapports par le biais de la barre d’adresses d’un navigateur web, ou elle peut être la source d’un IFrame qui fait partie d’une application ou d’un portail web plus important. Vous pouvez inclure des liens hypertexte vers des rapports sur différentes pages web de votre portail et cibler un cadre spécifique pour le rapport ou ouvrir une nouvelle fenêtre de navigateur dans le processus.
Dans l'exemple suivant, le lien hypertexte cible un frame nommé « main » qui peut être différent de celui qui inclut le lien hypertexte. Le lien hypertexte peut faire partie d'un portail 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>
Dans l’exemple précédent, le paramètre d’informations sur l’appareil LinkTarget est passé avec la valeur « main » dans la chaîne de requête de l’URL, ce qui garantit que tous les liens hypertexte d’extraction dans le rapport ciblent également le frame nommé « main ».
Pour plus d’informations sur les paramètres d’informations de périphérique, consultez Transmission de paramètres d’informations de périphérique aux extensions de rendu.
De nombreux serveurs et navigateurs limitent le nombre de caractères autorisés dans une URL. Dans certains cas, une limite de 256 caractères est imposée. Pour contourner cette limitation, vous pouvez utiliser des requêtes POST à l'aide de l'envoi de formulaire.
Notes
Internet Explorer impose une longueur maximale de 2 083 caractères dans les URL. Cette limite s'applique aux URL de requêtes POST et GET. Toutefois, POST n'est pas limité par la taille de l'URL pour l'envoi de paires nom/valeur dans le cadre d'un formulaire, celles-ci étant transférées dans l'en-tête et non dans l'URL.
Accès URL via une méthode POST de formulaire
Lorsqu'un utilisateur demande des données à partir d'un serveur de rapports à l'aide de l'accès URL, la requête HTTP utilise la méthode GET. Cette demande équivaut à une soumission de formulaire où METHOD="GET ». Les demandes d'URL ou les envois de formulaire qui utilisent METHOD="GET" sont limités par le nombre maximal de caractères qu'un serveur ou navigateur Web peut traiter.
Avec les requêtes POST (METHOD="POST" et champs d'entrée), les paires nom/valeur sont transférées dans l'en-tête et non dans l'URL. Par conséquent, les paires nom/valeur de la chaîne de requête ne font pas partie de l’URL, ce qui vous permet de fournir des listes de paramètres plus longues et plus complexes.
Un utilisateur peut utiliser l’accès direct pour afficher l’URL du serveur de rapports. L’utilisateur peut modifier la chaîne de requête ou noter les paramètres de demande d’URL et de serveur de rapports particuliers pour une utilisation ultérieure.
L'exemple de code HTML suivant montre l'utilisation d'un formulaire que vous pouvez utiliser pour cibler un serveur de rapports avec une URL spécifique et passer des paramètres de chaîne de requête dans le cadre des champs d'entrée du formulaire.
<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>
Dans l’exemple précédent, si un utilisateur sélectionne le bouton sur le formulaire, le serveur de rapports retourne un rapport rendu HTML ciblé sur le cadre actuel. L’exemple suivant est une chaîne d’accès URL comparable :
https://server/reportserver?/SampleReports/Territory Sales
Drilldown&rs:Command=Render&rc:LinkTarget=main&rs:Format=HTML4.0