Поделиться через


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

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

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

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

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

См. также

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