Preparazione all'implementazione di un'estensione per l'elaborazione datiPreparing to Implement a Data Processing Extension

Prima di implementare il SQL ServerSQL Server Reporting ServicesReporting Services estensione per l'elaborazione dati, è necessario definire le interfacce da implementare.Before you implement your SQL ServerSQL Server Reporting ServicesReporting Services data processing extension, you should define the interfaces to implement. Si consiglia di fornire implementazioni specifiche dell'estensione dell'intero set di interfacce o si potrebbe semplicemente volere incentrare l'implementazione in un subset, ad esempio il IDataReader e IDbCommand interfacce in cui i client interagirebbero principalmente con un set di risultati come un DataReader dell'oggetto e utilizzare il SSRSSSRS estensione per l'elaborazione dati che funge da ponte tra il set di risultati e l'origine dati.You may want to provide extension-specific implementations of the entire set of interfaces, or you may simply want to focus your implementation on a subset, such as the IDataReader and IDbCommand interfaces in which clients would interact primarily with a result set as a DataReader object and would use your SSRSSSRS data processing extension as a bridge between the result set and your data source.

È possibile implementare le estensioni per l'elaborazione dati scegliendo tra le due modalità seguenti:You can implement data processing extensions in one of two ways:

  • Le classi di estensione per l'elaborazione dati possono implementare la MicrosoftMicrosoft .NET Framework.NET Framework interfacce del provider di dati e, facoltativamente, le interfacce di estensione per l'elaborazione dati estese fornite da Reporting ServicesReporting Services.Your data processing extension classes can implement the MicrosoftMicrosoft .NET Framework.NET Framework data provider interfaces and optionally the extended data processing extension interfaces provided by Reporting ServicesReporting Services.

  • Le classi dell'estensione per l'elaborazione dati possono implementare le interfacce dell'estensione per l'elaborazione dati fornite da Reporting ServicesReporting Services e, facoltativamente, le interfacce dell'estensione per l'elaborazione dati estese.Your data processing extension classes can implement the data processing extension interfaces provided by Reporting ServicesReporting Services and optionally the extended data processing extension interfaces.

    Se l'estensione per l'elaborazione dati di Reporting ServicesReporting Services non supporterà una proprietà o un metodo specifico, implementare la proprietà o il metodo come elemento senza operazioni.If your Reporting ServicesReporting Services data processing extension will not support a particular property or method, implement the property or method as no-operation. Se un client prevede comportamento specifico, generare un NotSupportedException eccezione.If a client expects a particular behavior, throw a NotSupportedException exception.

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.A no-operation implementation of a property or method only applies to the properties and methods of those interfaces that you choose to implement. Le interfacce facoltative che si sceglie di non implementare devono essere omesse dall'assembly di estensioni per l'elaborazione dati.Optional interfaces that you choose not to implement should be left out of your data processing extension assembly. Per ulteriori informazioni sul fatto che un'interfaccia sia obbligatoria o facoltativa, vedere la tabella più avanti in questa sezione.For more information about whether an interface is required or optional, see the table later in this section.

Funzionalità obbligatorie delle estensioniRequired Extension Functionality

Ogni estensione per l'elaborazione dati di Reporting ServicesReporting Services deve fornire le funzionalità seguenti:Each Reporting ServicesReporting Services data processing extension must provide the following functionality:

  • Aprire una connessione a un'origine dati.Open a connection to a data source.

  • Analizzare una query e restituire un elenco di nomi di campo per il set di risultati.Analyze a query and return a list of field names for the result set.

  • Eseguire una query sull'origine dati e restituire un set di righe.Execute a query against the data source and return a row set.

  • Passare parametri a valore singolo alla query.Pass single-valued parameters to the query.

  • Scorrere le righe nel set di righe e recuperare i dati.Iterate through rows in the row set and retrieve data.

    Ogni estensione per l'elaborazione dati può essere estesa per includere le funzionalità seguenti:Each data processing extension can be extended to include the following functionality:

  • Analizzare una query e restituire un elenco di nomi di parametri utilizzati nella query.Analyze a query and return a list of parameter names used in the query.

  • Analizzare una query e restituire l'elenco di campi in base ai quali è raggruppata la query.Analyze a query and return the list of fields by which the query is grouped.

  • Analizzare una query e restituire l'elenco di campi in base ai quali è ordinata la query.Analyze a query and return the list of fields by which the query is sorted.

  • Fornire un nome utente e una password per la connessione all'origine dati indipendenti dalla stringa di connessione.Provide a user name and password to connect to the data source that is independent of the connection string.

  • Scorrere le righe nel set di righe e recuperare i metadati ausiliari relativi ai valori.Iterate through rows in the row set and retrieve auxiliary metadata about the data values.

  • Aggregare i dati nel server.Aggregate data at the server.

Interfacce dell'estensione disponibiliAvailable Extension Interfaces

Nella tabella seguente sono descritte le interfacce disponibili e viene indicato se l'implementazione è obbligatoria o facoltativa.The following table describes the available interfaces and whether implementation is required or optional.

InterfacciaInterface DescriptionDescription ImplementazioneImplementation
IDbConnectionIDbConnection Rappresenta una sessione univoca con un'origine dati.Represents a unique session with a data source. Nel caso di un sistema di database client/server, la sessione può essere equivalente a una connessione di rete al server.In the case of a client/server database system, the session may be equivalent to a network connection to the server. RequiredRequired
IDbConnectionExtensionIDbConnectionExtension Rappresenta proprietà di connessione aggiuntive che possono essere implementate dalle estensioni per l'elaborazione dati di SSRSSSRS per quanto riguarda sicurezza e autenticazione.Represents additional connection properties that can be implemented by SSRSSSRS data processing extensions regarding security and authentication. FacoltativoOptional
IDbTransactionIDbTransaction Rappresenta una transazione locale.Represents a local transaction. RequiredRequired
IDbTransactionExtensionIDbTransactionExtension Rappresenta proprietà aggiuntive della transazione che possono essere implementate dalle estensioni per l'elaborazione dati di SSRSSSRS.Represents additional transaction properties that can be implemented by SSRSSSRS data processing extensions. FacoltativoOptional
IDbCommandIDbCommand Rappresenta una query o un comando utilizzato per la connessione a un'origine dati.Represents a query or command that is used when connected to a data source. RequiredRequired
IDbCommandAnalysisIDbCommandAnalysis Rappresenta informazioni aggiuntive sul comando per l'analisi di una query e la restituzione di un elenco di nomi di parametri utilizzati nella query.Represents additional command information for analyzing a query and returning a list of parameter names used in the query. FacoltativoOptional
IDataParameterIDataParameter Rappresenta una coppia nome/valore o un parametro passato a un comando o a una query.Represents a parameter or name/value pair that is passed to a command or query. RequiredRequired
IDataParameterCollectionIDataParameterCollection Rappresenta una raccolta di tutti i parametri relativi a un comando o a una query.Represents a collection of all parameters relevant to a command or query. RequiredRequired
IDataReaderIDataReader Fornisce un metodo per leggere un flusso di dati forward-only di sola lettura dall'origine dati.Provides a method of reading a forward-only, read-only stream of data from your data source. RequiredRequired
IDataReaderExtensionIDataReaderExtension Fornisce un metodo per leggere uno o più flussi forward-only di set di risultati, ottenuti eseguendo un comando in un'origine dati.Provides a method of reading one or more forward-only streams of result sets, obtained by executing a command at a data source. Questa interfaccia fornisce supporto aggiuntivo per le aggregazioni di campi.This interface provides additional support for field aggregates. FacoltativoOptional
IExtensionIExtension Fornisce la classe di base per un'estensione per l'elaborazione dati di Reporting ServicesReporting Services.Provides the base class for a Reporting ServicesReporting Services data processing extension. 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.Also enables an implementer to include a localized name for the extension and to pass configuration settings from the configuration file to the extension. RequiredRequired

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.NET Framework, quando possibile.The data processing extension interfaces are identical to a subset of the .NET Framework.NET Framework data provider interfaces, methods, and properties whenever possible. Per ulteriori informazioni sull'implementazione di un provider di dati .NET Framework.NET Framework completo, vedere l'argomento relativo all'implementazione di un provider di dati nella documentazione di .NET Framework.NET Framework Software Development Kit (SDK).For more information about implementing a full .NET Framework.NET Framework data provider, see "Implementing a .NET Framework Data Provider" in your .NET Framework.NET Framework Software Development Kit (SDK) documentation.

Vedere ancheSee Also

Estensioni di Reporting Services Reporting Services Extensions
Implementazione di un'estensione di elaborazione dei dati Implementing a Data Processing Extension
Libreria di estensioni di Reporting ServicesReporting Services Extension Library