Integrare Reporting Services usando l'accesso con URL - Applicazione Web

L'accesso con URL in Reporting Services è progettato per consentire l'accesso ai singoli report in rete. Questo tipo di accesso è ottimale per l'integrazione delle funzionalità di visualizzazione e navigazione del report in un'applicazione Web personalizzata. Per utilizzare l'accesso con URL nelle applicazioni Web, è possibile:

  • Indirizzare un URL a un server di report specifico da un portale o un sito Web.

  • Utilizzare un metodo POST di un form e passare i parametri della stringa di query a un URL del server di report utilizzando i campi del form.

Accesso con URL tramite indirizzamento diretto

Per accedere a un server di report o a un elemento di database del server di report usando un URL, specificare l'indirizzo URL da un Web browser o un'applicazione. È inoltre possibile fornire parametri dell'URL che possono influire sull'aspetto del report o della risorsa a cui si accede. Un URL può puntare a un server di report tramite la barra degli indirizzi di un browser oppure può essere l'origine di un oggetto IFrame che fa parte di un portale o un'applicazione Web di dimensioni più grandi. È possibile includere collegamenti ipertestuali ai report in varie pagine Web del portale e specificare come destinazione un frame specifico per il report o aprire una nuova finestra del browser nel processo.

Nell'esempio seguente il collegamento ipertestuale punta a un frame denominato "main" che potrebbe essere diverso da quello che include il collegamento ipertestuale. Il collegamento ipertestuale potrebbe fare parte del portale 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>  

Nell'esempio precedente, l'impostazione delle informazioni sul dispositivo LinkTarget viene passata con un valore "main" nella stringa di query dell'URL, che garantisce che tutti i collegamenti ipertestuali drill-through nel report siano destinati anche al frame denominato "main".

Per altre informazioni sulle impostazioni relative alle informazioni sul dispositivo, vedere Passaggio delle impostazioni relative alle informazioni sul dispositivo alle estensioni per il rendering.

Molti server e browser limitano il numero di caratteri consentiti in un URL. In alcuni casi, è previsto un limite di 256 caratteri. Per aggirare questa limitazione, è possibile utilizzare richieste POST con invio del form.

Nota

In Internet Explorer la lunghezza massima per gli URL è di 2.083 caratteri. Questo limite si applica agli URL delle richieste sia POST che GET. Per POST, tuttavia, non vi è un limite imposto dalla dimensione dell'URL per l'invio di coppie nome/valore come parte di un form, in quanto il trasferimento avviene nell'intestazione e non nell'URL.

Accesso con URL tramite un metodo POST di modulo

Quando un utente richiede dati da un server di report utilizzando l'accesso con URL, la richiesta HTTP utilizza il metodo GET. Questa richiesta equivale a un invio di modulo in cui METHOD="GET". Per le richieste di URL o l'invio di form con METHOD = "GET" il limite è definito dal numero massimo di caratteri che possono essere elaborati da un server o da un browser.

Con le richieste POST (METHOD = "POST" e campi di input), le coppie nome/valore vengono trasferite nell'intestazione e non nell'URL. Pertanto, le coppie nome/valore della stringa di query non fanno parte dell'URL, consentendo così di fornire elenchi di parametri più lunghi e più complessi.

Un utente può usare l'accesso diretto per visualizzare l'URL del server di report. L'utente potrebbe essere in grado di modificare la stringa di query o prendere nota dei parametri specifici della richiesta URL e del server di report per un uso successivo.

L'esempio HTML seguente illustra l'utilizzo di un form che consente di puntare a un server di report con un URL specifico e di passare i parametri della stringa di query come parte dei campi di input del form.

<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>  

Nell'esempio precedente, se un utente seleziona il pulsante nella maschera, il server di report restituisce un report sottoposto a rendering HTML destinato al frame corrente. L'esempio seguente è una stringa di accesso url paragonabile:

https://server/reportserver?/SampleReports/Territory Sales   
Drilldown&rs:Command=Render&rc:LinkTarget=main&rs:Format=HTML4.0