2012-03-23 4 views

risposta

32

parametri interni in SSRS sono parametri che non sono configurabili da parte dell'utente finale in fase di esecuzione.

Varia da un parametro nascosto , che all'utente non viene richiesto di fornire, ma può comunque essere configurato tramite l'URL al server di report.

Vedere "Creating Report Parameters" su MSDN per ulteriori informazioni.

Un possibile utilizzo di questi è in combinazione con lo Report Viewer control. Una pagina ASP.Net può contenere il controllo del visualizzatore di report e utilizzare i parametri interni nel code-behind per fornire valori al report che l'utente finale non dovrebbe essere in grado di controllare, ad esempio un ID utente.

Questo può impedire all'utente di fornire un ID utente diverso per visualizzare i dati che non dovrebbero essere autorizzati a visualizzare.

Tuttavia, se si utilizza un parametro interno in un report ma si desidera che rimanga funzionale al di fuori del controllo del visualizzatore report, è necessario specificare un valore predefinito appropriato. In caso contrario, il report sarà inutilizzabile da Gestione report o Server report.

+1

Sto giocando con i modi di utilizzare UserId, per i report resi tramite il server di report, per filtrare le informazioni nel report in base a chi lo visualizza. Gli esempi che ho trovato finora non utilizzano parametri nascosti. Questa sarebbe una buona situazione per usare un parametro nascosto? ... Sì, ma ho bisogno di fornire un valore predefinito? ... L'impostazione predefinita potrebbe essere la variabile UserID? – whytheq

+2

@Whytheq se si utilizza un parametro "nascosto", sarebbe comunque possibile per un utente impersonare un altro utente modificando l'URL. – TomG

+0

@TomG grazie - quindi in pratica una regola empirica è se l'utente non ha mai bisogno di conoscere il valore di un parametro e quindi renderlo interno? – whytheq

2

Se si imposta un parametro su Interno, non viene esposto in alcun modo tranne che nella definizione del report (query del set di dati o stored procedure). In altre parole, Internal Parameter è un parametro che non può essere modificato in fase di runtime. Un utente finale di un rapporto pubblicato non vedrà mai questo come parametro. Tuttavia, un editore può modificare il valore del parametro in qualsiasi momento nelle opzioni di gestione del rapporto. È possibile trovare la funzionalità del parametro interno con l'esempio in questo link: https://sqlserverreportingservices.wordpress.com/2012/11/16/using-internal-parameters-to-filter-data-without-user-intervention/

1

Se si imposta un parametro su Hidden, sarà visibile quando l'utente effettua sottoscrizioni sul server di report, ma se si imposta un parametro su Internal , l'utente con un ruolo Browser non può vederlo e modificarlo.