Share via


Implementar 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 armazenados no buffer de rede no cliente até que você solicite-os 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 recuperando dados assim que eles estão disponíveis, em vez de esperar que os resultados inteiros da consulta sejam retornados e (por padrão) armazenando apenas uma linha por vez na memória, reduzindo a sobrecarga do sistema.

Depois de criar uma instância da classe Command, você cria um objeto DataReader chamando Command.ExecuteReader para recuperar linhas da fonte de dados. A implementação de DataReader deve fornecer duas funcionalidades básicas: 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 dos resultados da consulta.

No Designer de Relatórios, o objeto DataReader é usado para recuperar uma lista de campos e informações de esquema sobre o conjunto de resultados. Essa recuperação é realizada implementando os métodos GetName, GetValue, GetFieldType e GetOrdinal da IDataReader interface.

A interface de IDataReaderExtension permite que você ofereça informações específicas de agregação sobre o seu conjunto de resultados. Para obter uma implementação de exemplo da classe DataReader, consulte Amostras de produto do SQL Server Reporting Services.