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


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

Перед реализацией модуля обработки данных СЛУЖБ 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