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

Объект Подключение ion представляет подключение к базе данных или аналогичный ресурс и является отправной точкой для пользователей модуля обработки данных SQL Server Reporting Services. Он представляет собой соединения с серверами баз данных, хотя, в принципе, любая сущность с похожим поведением может быть представлена как Connection.

Для реализации объекта Connection следует создать класс, реализующий интерфейс IDbConnection и (необязательно) интерфейс IDbConnectionExtension.

Перед выполнением команд в реализации следует убедиться, что соединение было создано и открыто. Следует убедиться, что реализация требует от клиентов явного открытия и закрытия соединений, а не выполняет данные операции самостоятельно. После установки соединения следует выполнить проверки безопасности. Требование существующего подключения для других классов в модулем обработки данных SSRS гарантирует, что при работе с источником данных всегда выполняются проверка безопасности.

Свойства необходимого соединения представлены в виде строки соединения. Модули обработки данных SSRS должны поддерживать ConnectionString свойство с помощью знакомой системы пары имен и значений, определенной OLE DB.

Примечание.

Получение объектов Connection связано с затратами ресурсов; для компенсации рекомендуется использовать метод организации пула соединений или другие методики.

Интерфейс IDbConnection наследуется от интерфейса IExtension. Интерфейс IExtension следует реализовать в качестве части реализации класса соединения. Интерфейс IExtension позволяет классу реализовать локализованное имя расширения и обрабатывать сведения о конфигурации расширения, хранящиеся в файле конфигурации служб Reporting Services.

Объект Connection содержит свойство LocalizedName из-за реализации интерфейса IExtension. Модули обработки данных служб Reporting Services должны поддерживать LocalizedName свойство. Поддержка позволяет пользователям столкнуться с знакомым локализованным именем расширения в пользовательском интерфейсе, например диспетчером отчетов.

Интерфейс IExtension также позволяет объекту Connection получать и обрабатывать данные пользовательской конфигурации, хранимые в файле RSReportServer.config. Дополнительные сведения об обработке данных пользовательской конфигурации см. в описании метода SetConfiguration.

Класс, который реализуется IExtension , не выгружается из памяти при выгрузке остальных классов модуля обработки данных. Из-за этого можно использовать класс Extension для хранения сведений о состоянии между подключениями или хранения данных, которые можно кэшировать в памяти. Класс Extension остается в памяти, пока запущен сервер отчетов.

Вы можете расширить класс Подключение ion, чтобы включить поддержку учетных данных в службах Reporting Services, реализуяIDbConnectionExtension. При реализации свойств IntegratedSecurity, UserName и Password интерфейса IDbConnectionExtension в диалоговом окне Источник данных в конструкторе отчетов включается поле для флажка Интегрированная безопасность и текстовые поля Имя пользователя и Пароль. Это позволяет конструктору отчетов сохранять и получать учетные данные для источников данных, поддерживающих проверку подлинности. Учетные данные хранятся в безопасном месте и используются при подготовке отчетов в режиме предварительного просмотра.

Примечание.

Для скрытой реализации интерфейса IDbConnectionExtension необходимо реализовать члены интерфейсов IDbConnection и IExtension.

Пример реализации класса Подключение ion см. в примерах служб Reporting Services в CodePlex (SQL Server Reporting Services SSRS).