Implementazione di una classe DataReader per un'estensione per l'elaborazione datiImplementing a DataReader Class for a Data Processing Extension

L'oggetto DataReader consente a un client di recuperare da un'origine dati un flusso di dati forward-only di sola lettura.The DataReader object enables a client to retrieve a read-only, forward-only stream of data from a data source. I risultati vengono restituiti quando la query viene eseguita e vengono archiviati nel buffer di rete nel client fino a quando non vengono richiesti tramite il metodo Read della classe DataReader.Results are returned as the query executes and are stored in the network buffer on the client until you request them using the Read method of the DataReader class. Per creare una classe DataReader, implementare IDataReader e, facoltativamente, IDataReaderExtension.To create a DataReader class, implement IDataReader and optionally implement IDataReaderExtension. L'uso di un oggetto DataReader migliora le prestazioni dell'applicazione consentendo di recuperare i dati non appena sono disponibili senza attendere che vengano restituiti tutti i risultati della query nonché, per impostazione predefinita, consentendo di archiviare in memoria una sola riga per volta, riducendo l'overhead di sistema.Using a DataReader object increases application performance both by retrieving data as soon as it is available, rather than waiting for the entire results of the query to be returned, and (by default) storing only one row at a time in memory, reducing system overhead.

Dopo aver creato un'istanza della classe Command, è possibile creare l'oggetto DataReader chiamando Command.ExecuteReader per recuperare le righe dall'origine dati.After creating an instance of your Command class, you create a DataReader object by calling Command.ExecuteReader to retrieve rows from the data source. L'implementazione di DataReader deve offrire due funzionalità di base, ovvero l'accesso forward-only ai set di risultati ottenuti eseguendo un comando e l'accesso ai tipi di colonna, ai nomi e ai valori all'interno di ogni riga.The DataReader implementation must provide two basic capabilities: forward-only access over the result sets obtained by executing a command and access to the column types, names, and values within each row. I client usano il metodo Read dell'oggetto DataReader per ottenere una riga dai risultati della query.Clients use the Read method of the DataReader object to obtain a row from the results of the query.

In Progettazione report l'oggetto DataReader viene usato per recuperare un elenco di campi e le informazioni sullo schema per il set di risultati.In Report Designer, your DataReader object is used to retrieve a list of fields as well as schema information about the result set. A tale scopo, vengono implementati i metodi GetName, GetValue, GetFieldType e GetOrdinal dell'interfaccia IDataReader.This is accomplished by implementing the GetName, GetValue, GetFieldType, and GetOrdinal methods of the IDataReader interface.

L'interfaccia IDataReaderExtension consente di fornire informazioni di aggregazione specifiche per il set di risultati.The IDataReaderExtension interface allows you to supply specific aggregation information about your result set. Per un'implementazione di esempio della classe DataReader, vedere la pagina degli esempi del prodotto SQL Server Reporting Services.For a sample DataReader class implementation, see SQL Server Reporting Services Product Samples.

Vedere ancheSee Also

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