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


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

Перед внедрением собственного модуля обработки данных служб 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

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