Реализация класса DataReader для модуля обработки данных

Объект DataReader позволяет клиенту принимать доступный только для чтения однопроходный поток данных из источника данных. Результаты возвращаются после выполнения запроса и хранятся в сетевом буфере на клиенте до тех пор, пока не будут запрошены с помощью метода Read класса DataReader. Чтобы создать класс DataReader, следует реализовать IDataReader и, возможно, реализовать IDataReaderExtension. Объект DataReader позволяет увеличить производительность приложения двумя способами: путем получения данных, как только они становятся доступны, вместо ожидания возвращения всех результатов запроса, а также (по умолчанию) путем сохранения в памяти только одной строки за один раз, что снижает нагрузку на системные ресурсы.

После создания экземпляра класса Command создайте объект DataReader, вызвав Command.ExecuteReader для получения строк из источника данных. Реализация DataReader должна предоставлять две основные возможности: однопроходный доступ к результирующим наборам, полученным при выполнении команды, и доступ к типам столбцов, именам и значениям в каждой строке. Клиенты используют метод Read объекта DataReader для получения строки из результатов запроса.

В конструкторе отчетов объект DataReader используется для получения списка полей, а также сведений о схеме для результирующего набора. Это достигается путем реализации методов GetName, GetValue, GetFieldType и GetOrdinal экземпляра IDataReader.

Экземпляр IDataReaderExtension позволяет предоставлять конкретные сведения статистической обработки результирующего набора. Пример реализации класса DataReader см. в разделе Образцы продуктов служб SQL Server Reporting Services.

См. также:

Модули Reporting Services
Реализация модуля обработки данных
Библиотека модулей Reporting Services