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


Подготовка к реализации модуля обработки данных

Перед реализацией собственного модуля обработки данных SQL Server Reporting Services вам следует определить реализуемые интерфейсы. Можно предоставить реализации всего набора интерфейсов, связанные с конкретными моделями, или сориентировать свою реализацию на поднабор, например, интерфейсы IDataReader и IDbCommand, в которых клиенты взаимодействуют в основном с набором результатов, таким как объект DataReader, и используют модуль обработки данных SSRS как мост между набором результатов и источником данных.

Модули обработки данных можно реализовать двумя путями:

  • Классы модуля обработки данных могут реализовывать интерфейсы поставщика данных Microsoft .NET Framework и при необходимости расширенные интерфейсы модуля обработки данных, предоставляемые службами Reporting Services.

  • Классы модуля обработки данных могут реализовать интерфейсы модуля обработки данных, предоставляемые службами Reporting Services, и, при необходимости, расширенные интерфейсы модуля обработки данных.

Если модуль обработки данных служб Reporting Services не поддерживает определенное свойство или метод, то его следует реализовать, как операцию, не выполняющую никакого действия. Если клиент ожидает определенное поведение, то следует создать исключение NotSupportedException.

Примечание

Реализация в виде пустой команды свойства или метода применяется только к свойствам и методам интерфейсов, которые пользователь решил реализовать. Необязательные интерфейсы, которые пользователь решил не реализовывать, следует исключить из сборки модуля обработки данных. Дополнительные сведения о том, какие из интерфейсов являются необходимыми, а какие нет, смотрите далее в этом разделе.

Необходимые функциональные возможности модуля

Каждый модуль обработки данных служб Reporting Services должен обеспечивать следующие функциональные возможности.

  • Открывают соединение с источником данных.

  • Возможность анализа запроса и возвращения списка имен полей для результирующего набора.

  • Возможность выполнения запроса к источнику данных и возвращения набора строк.

  • Возможность передачи запросу параметров с одним значением.

  • Возможность просмотра строк в наборе строк и получения данных.

Каждый модуль обработки данных может быть расширен с добавлением следующих функциональных возможностей.

  • Анализируют запрос и возвращают список имен параметров, используемых в запросе.

  • Возможность анализа запроса и возвращения списка полей, по которым сгруппирован запрос.

  • Возможность анализа запроса и возвращения списка полей, по которым отсортирован запрос.

  • Возможность предоставления имени пользователя и пароля для соединения с источником данных, не зависящим от строки соединения.

  • Возможность просмотра строк в наборе строк и возвращения вспомогательных метаданных о значениях данных.

  • Возможность статистической обработки данных на сервере.

Доступные интерфейсы модулей

В следующей таблице описываются доступные интерфейсы, и поясняется, являются ли они необходимыми или нет.

Интерфейс Описание Реализация
IDbConnection Представляет уникальный сеанс с источником данных. Если используется система базы данных клиент/сервер, то сеанс может быть эквивалентом сетевого соединения с сервером. Обязательно
IDbConnectionExtension Представляет дополнительные свойства соединения, которые могут быть реализованы модулем обработки данных служб SSRS, затрагивающие вопросы безопасности и проверки подлинности. Необязательно
IDbTransaction Представляет локальную транзакцию. Обязательно
IDbTransactionExtension Представляет дополнительные свойства транзакций, которые могут быть реализованы модулями обработки данных служб SSRS. Необязательно
IDbCommand Представляет запрос или команду, используемую при наличии соединения с источником данных. Обязательно
IDbCommandAnalysis Предоставляет дополнительные сведения о командах для анализа запроса и возвращения списка имен параметров, используемых в запросе. Необязательно
IDataParameter Представляет параметр или пару имя/значение, передаваемую команде или запросу. Обязательно
IDataParameterCollection Представляет коллекцию всех параметров, имеющих отношение к команде или запросу. Обязательно
IDataReader Указывает метод считывания потока данных из источника данных, доступного только для чтения, с возможностью перемещения только вперед. Обязательно
IDataReaderExtension Предоставляет метод считывания одного или нескольких потоков результирующих наборов с возможностью перемещения только вперед, полученных путем выполнения команды на источнике данных. Данный интерфейс обеспечивает дополнительную поддержку статистических полей. Необязательно
IExtension Предоставляет базовый класс для модуля обработки данных служб Reporting Services. Также позволяет реализующему лицу включить локализованное имя для модуля и передать настройки конфигурации из файла конфигурации в модуль. Обязательно

Интерфейсы модуля обработки данных по возможности идентичны подмножеству интерфейсов, методов и свойств поставщика данных .NET Framework. Дополнительные сведения о реализации полного поставщика данных платформы .NET Framework см. в разделе «Реализация поставщика данных платформы .NET Framework» в документации по пакету средств разработки программного обеспечения (пакетом SDK) .NET Framework.

См. также:

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