Preparazione all'implementazione di un'estensione per l'elaborazione dati
Prima di implementare l'estensione per l'elaborazione dati di SQL ServerReporting Services, è necessario definire le interfacce da implementare. È possibile fornire implementazioni specifiche dell'estensione dell'intero set di interfacce oppure è possibile incentrare l'implementazione semplicemente su un subset, ad esempio le interfacce IDataReader e IDbCommand in cui i client interagirebbero principalmente con un set di risultati come un oggetto DataReader e in cui l'estensione per l'elaborazione dati di SSRS verrebbe utilizzata come collegamento tra il set di risultati e l'origine dati.
È possibile implementare le estensioni per l'elaborazione dati scegliendo tra le due modalità seguenti:
Le classi dell'estensione per l'elaborazione dati possono implementare le interfacce del provider di dati Microsoft.NET Framework e, facoltativamente, le interfacce dell'estensione per l'elaborazione dati estese fornite da Reporting Services.
Le classi dell'estensione per l'elaborazione dati possono implementare le interfacce dell'estensione per l'elaborazione dati fornite da Reporting Services e, facoltativamente, le interfacce dell'estensione per l'elaborazione dati estese.
Se l'estensione per l'elaborazione dati di Reporting Services non supporterà una proprietà o un metodo specifico, implementare la proprietà o il metodo come elemento senza operazioni. Se un client prevede comportamento specifico, generare un'eccezione NotSupportedException.
[!NOTA]
Un'implementazione senza operazioni di una proprietà o di un metodo si applica solo alle proprietà e ai metodi delle interfacce che si sceglie di implementare. Le interfacce facoltative che si sceglie di non implementare devono essere omesse dall'assembly di estensioni per l'elaborazione dati. Per ulteriori informazioni sul fatto che un'interfaccia sia obbligatoria o facoltativa, vedere la tabella più avanti in questa sezione.
Funzionalità obbligatorie delle estensioni
Ogni estensione per l'elaborazione dati di Reporting Services deve fornire le funzionalità seguenti:
Aprire una connessione a un'origine dati.
Analizzare una query e restituire un elenco di nomi di campo per il set di risultati.
Eseguire una query sull'origine dati e restituire un set di righe.
Passare parametri a valore singolo alla query.
Scorrere le righe nel set di righe e recuperare i dati.
Ogni estensione per l'elaborazione dati può essere estesa per includere le funzionalità seguenti:
Analizzare una query e restituire un elenco di nomi di parametri utilizzati nella query.
Analizzare una query e restituire l'elenco di campi in base ai quali è raggruppata la query.
Analizzare una query e restituire l'elenco di campi in base ai quali è ordinata la query.
Fornire un nome utente e una password per la connessione all'origine dati indipendenti dalla stringa di connessione.
Scorrere le righe nel set di righe e recuperare i metadati ausiliari relativi ai valori.
Aggregare i dati nel server.
Interfacce dell'estensione disponibili
Nella tabella seguente sono descritte le interfacce disponibili e viene indicato se l'implementazione è obbligatoria o facoltativa.
Interfaccia |
Descrizione |
Implementazione |
---|---|---|
IDbConnection |
Rappresenta una sessione univoca con un'origine dati. Nel caso di un sistema di database client/server, la sessione può essere equivalente a una connessione di rete al server. |
Obbligatoria |
IDbConnectionExtension |
Rappresenta proprietà di connessione aggiuntive che possono essere implementate dalle estensioni per l'elaborazione dati di SSRS per quanto riguarda protezione e autenticazione. |
Facoltativa |
IDbTransaction |
Rappresenta una transazione locale. |
Obbligatoria |
IDbTransactionExtension |
Rappresenta proprietà aggiuntive della transazione che possono essere implementate dalle estensioni per l'elaborazione dati di SSRS. |
Facoltativa |
IDbCommand |
Rappresenta una query o un comando utilizzato per la connessione a un'origine dati. |
Obbligatoria |
IDbCommandAnalysis |
Rappresenta informazioni aggiuntive sul comando per l'analisi di una query e la restituzione di un elenco di nomi di parametri utilizzati nella query. |
Facoltativa |
IDataParameter |
Rappresenta una coppia nome/valore o un parametro passato a un comando o a una query. |
Obbligatoria |
IDataParameterCollection |
Rappresenta una raccolta di tutti i parametri relativi a un comando o a una query. |
Obbligatoria |
IDataReader |
Fornisce un metodo per leggere un flusso di dati forward-only di sola lettura dall'origine dati. |
Obbligatoria |
IDataReaderExtension |
Fornisce un metodo per leggere uno o più flussi forward-only di set di risultati, ottenuti eseguendo un comando in un'origine dati. Questa interfaccia fornisce supporto aggiuntivo per le aggregazioni di campi. |
Facoltativa |
IExtension |
Fornisce la classe di base per un'estensione per l'elaborazione dati di Reporting Services. Consente inoltre a un implementatore di includere un nome localizzato per l'estensione e di passare le impostazioni di configurazione dal file di configurazione all'estensione. |
Obbligatoria |
Le interfacce dell'estensione per l'elaborazione dati sono identiche a un subset delle proprietà, dei metodi e delle interfacce del provider di dati .NET Framework, quando possibile. Per ulteriori informazioni sull'implementazione di un provider di dati .NET Framework completo, vedere l'argomento relativo all'implementazione di un provider di dati nella documentazione di .NET Framework Software Development Kit (SDK).
Vedere anche