Использование внешнего источника данных для данных подписчика (подписка на основе данных)
В управляемой данными подписке динамические данные подписки определяются запросом или командой, которые получают данные из внешнего источника данных. Данные подписки могут быть получены из любого поддерживаемого источника данных, который удовлетворяет требованиям обработки управляемой данными подписки. Запрос или синтаксис команды должны быть верными для модуля обработки данных, установленного на сервере отчетов.
Требования к обработке данных
Reporting Services используют модули обработки данных для получения данных подписки. Рекомендуемые типы источников данных включают:
Реляционные базы данных SQL Server
базы данных Oracle;
Источники данных многомерного и интеллектуального анализа данных в службах Analysis Services
источники XML-данных.
При использовании модуля обработки XML-данных для данных подписчика обязательно увеличьте параметры времени ожидания запроса в подписке. Модуль обработки XML-данных для значений времени ожидания запроса использует миллисекунды, а не секунды. Если вы не увеличиваете значение времени ожидания, подписка может завершиться ошибкой из-за нехватки времени обработки.
Старайтесь не использовать учетные данные при настройке подключения к источнику данных подписчика. Сохраненные учетные данные рекомендуется использовать модуль обработки XML-данных для получения данных подписки во время выполнения.
Можно использовать другие поддерживаемые типы источников данных, но не все из них будут гарантированно работать. Например, для данных подписчика нельзя использовать следующие типы источников данных:
базы данных SAP Netweaver BI;
Модели отчетов
Пользовательский модуль обработки данных, который можно использовать в управляемых данными подписках, должен реализовывать интерфейсы IDbCommand и IDataReader . Модуль обработки данных должен поддерживать выполнение запроса только со схемой. Этот запрос используется для получения метаданных во время проектирования, чтобы пользователи могли сопоставлять столбцы в параметрах доставки и параметры отчета в определении подписки. Выполнение запроса только со схемой происходит на раннем этапе определения подписки пользователем.
Требования к запросам
При создании запроса, получающем данные подписки, учтите следующее:
Для подписки может быть создан только один запрос.
Запрос должен возвращать все значения, которые вы хотите использовать для параметров доставки и указывать параметры отчета.
Сервер отчетов создает доставку отчетов для каждой строки в результирующем наборе. Если результирующий набор состоит из 300 строк, сервер отчетов пытается доставить 300 отчетов.
Настройка параметров доставки с переменными данными из базы данных подписчика
Чтобы настроить параметры доставки для каждого получателя, можно использовать данные из базы данных подписчика. Тип используемого модуля доставки определяет доступные параметры. Если вы используете расширение доставки электронной почты сервера отчетов, запрос должен содержать псевдоним электронной почты для каждого подписчика. При использовании доставки общих папок данные подписчика должны содержать значения, которые можно использовать для создания файлов отчетов для конкретного подписчика или назначения для доставки. Дополнительные сведения см. в статье "Доставка электронной почты" в службах Reporting Services.
Передача значений параметров из базы данных подписчика в отчет
Если вы создаете подписку на основе данных для параметризованного отчета, можно использовать значения параметров переменной для настройки выходных данных каждого отчета. Например, база данных подписчика может содержать идентификационные номера служащих, даты принятия на работу, названия должностей, а также сведения о расположении офиса, которые могут использоваться для применения фильтра к данным отчета. Если отчет принимает параметры, основанные на тех или иных доступных данных столбца, можно сопоставить параметр с соответствующим столбцом.
При сопоставлении полей подписчика и параметров отчета убедитесь в том, что типы данных и длины столбцов совместимы между собой. При несоответствии типа данных во время обработки подписки возникает ошибка. Дополнительные сведения об использовании данных подписчика в параметризованном отчете см. в статье "Создание управляемой данными подписки" (руководство по SSRS).
Изменение источника данных подписчика
Предотвратить выполнение подписок могут следующие изменения источника данных подписчика:
Удаление столбцов, на которые имеются ссылки в подписке.
Изменение структуры таблицы источника данных.
Изменение типа данных и других свойств столбца.
При проведении любых из этих изменений необходимо обновить подписку.