Condividi tramite


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