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

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

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

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

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

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

Примечание.

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

Обязательные функциональные возможности расширения

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

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

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

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

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

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

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

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

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

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

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

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

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

Доступные интерфейсы расширения

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

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

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