Compartilhar via


Implementando uma classe DataReader para uma extensão de processamento de dados

O objeto Datareader permite que um cliente recupere um fluxo de dados somente leitura, somente encaminhamento de uma fonte de dados. Os resultados são retornados à medida que a consulta é executada e são armazenadas no buffer de rede no cliente até que você os solicite usando o método Read da classe DataReader. Para criar uma classe DataReader, implemente IDataReader e, opcionalmente, implemente IDataReaderExtension. O uso de um objeto DataReader aumenta o desempenho do aplicativo ao recuperar dados assim que eles estiverem disponíveis, em vez de aguardar que todos os resultados da consulta sejam retornados, e (por padrão) ao armazenar somente uma linha por vez na memória, reduzindo a sobrecarga do sistema.

Depois de criar uma instância de sua classe Command, você criará um objeto Datareader ao chamar Command.ExecuteReader para recuperar linhas da fonte de dados. A implementação de DataReader deve fornecer dois recursos básicos: acesso somente encaminhamento aos conjuntos de resultados obtidos pela execução de um comando e acesso aos tipos de coluna, nomes e valores de cada linha. Os clientes usam o método Read do objeto DataReader para obter uma linha a partir dos resultados da consulta.

No Designer de Relatórios, o seu objeto DataReader é usado para recuperar uma lista de campos, além de informações de esquema sobre o conjunto de resultados. Isso é realizado pela implementação dos métodos GetName, GetValue, GetFieldType e GetOrdinal da interface de IDataReader.

A interface de IDataReaderExtension permite que você ofereça informações específicas de agregação sobre o seu conjunto de resultados. Para obter um exemplo da implementação da classe DataReader, consulte SQL Server Reporting Services Product Samples (em inglês).

Consulte também

Referência

Biblioteca de extensões do Reporting Services

Outros recursos

Extensões do Reporting Services

Implementando uma extensão de processamento de dados