Преобразование RDL-файлов и RDLC-файлов

Если использовать элементы управления ReportViewer вместе со службами Microsoft SQL Server 2005 Reporting Services, можно повторно использовать отчеты, создаваемые по любой из технологий.

  • Отчеты, создаваемые в службах SQL Server 2005 Reporting Services, сохраняются в виде RDL-файлов, их можно преобразовать в формат клиентских RDLC-файлов, используемый элементами управления ReportViewer. Это называется преобразованием RDL-в-RDLC.

  • Отчеты, создаваемые для элементов управления ReportViewer (сохраняются в виде RDLC-файлов) можно преобразовать в формат RDL-файлов, используемый в службах SQL Server 2005 Reporting Services. Это называется преобразованием RDLC-в-RDL.

Сравнение форматов RDL и RDLC

Между RDL-файлами и RDLC-файлами существуют важные технические и терминологические отличия, описанные далее.

  • Форматы RDL и RDLC определяются схемой XML, называемой языком определения отчетов. Для файлов обоих форматов используется одна и та же схема, которая документирована в электронной документации по SQL Server 2005.

  • Элемент управления ReportViewer, который обрабатывает RDLC-файлы, пропускает элемент <Query> языка определения отчетов. Если определение отчета содержит запрос, элемент управления не будет обрабатывать его.

NoteПримечание.

RDLC-файл будет содержать запрос только в случае, если файл изначально был RDL-файлом

  • Понятия наборов данных и источников данных имеют различные значения в Visual Studio 2008 и SQL Server 2005. В Visual Studio набор данных — это коллекция таблиц данных, и набор данных является логическим эквивалентом для запроса или команды, получающей данные. В службах Reporting Services набор данных состоит из следующих частей.

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

    • Сведения о том, как получить учетные данные для соединения с источником данных.

    • Сведения о запросе или команде для получения данных.

Визуально RDLC-файл, настроенный для выполнения в элементе управления ReportViewer, содержит объект набора данных, объект привязки к источнику и объект таблицы, которые отображаются внизу окна конструктора. На следующей схеме показано, как эти объекты располагаются на форме Windows (на веб-странице те же объекты привязки к данным расположены иначе):

Объекты данных в рабочей области проекта

Если RDLC-файл выбран для использования в элементе управления ReportViewer, но в проекте не отображаются объекты данных, то, скорее всего, выбран переименованный RDL-файл, и необходимо выполнить дополнительные шаги по преобразованию, чтобы он стал полнофункциональным RDLC-файлом.

Имя набора данных может ввести в заблуждение — по умолчанию службы Reporting Services используют для первого создаваемого набора данных имя источника данных (например, набор данных может называться Northwind, даже если он при этом получает данные только из одной таблицы).

Преобразование определений отчета

В RDLC-файлы можно преобразовать только RDL-файлы SQL Server 2005. Если имеются RDL-файлы из предыдущей версии, их необходимо обновить до версии SQL Server 2005 перед преобразованием в формат RDLC-файлов. Чтобы обновить версию определения отчета, откройте его в конструкторе отчетов версии SQL Server 2005.

Для преобразования определения отчетов любого типа файлов необходимо повторно создать источник данных и сведения о запросе. Убедитесь, что выбрана схема источника данных, совпадающая со схемой, использовавшейся в исходном отчете, или структурно ей идентичная. Если схема будет другой, макет отчета может оказаться недопустимым для источника данных, намеченного к использованию. Если нужно использовать различные источники данных, то будет проще создать отчет заново с нуля, чем преобразовывать его.

Преобразование RDL-в-RDLC

Во время преобразования RDL-файла в формат RDLC необходимо вручную заменить источник данных и сведения о запросе в определении отчета на структуры данных, представленные в приложении.

  1. Переименуйте RDL-файл, указав для него расширение RDLC.

  2. Откройте в Visual Studio 2008 решение или проект, содержащие отчет.

  3. Создайте или добавьте набор данных, определяющий данные, которые нужно использовать для проекта или решения. Дополнительные сведения см. в разделе Создание источников данных для отчета.

  4. В меню «Проект» выберите команду Добавить существующий элемент, а затем выберите RDLC-файл, созданный на первом шаге.

  5. В проекте откройте форму или веб-страницу, где будет размещаться отчет.

  6. Из группы «Данные» области элементов перетащите элемент управления ReportViewer на форму или на веб-страницу.

  7. На панели смарт-тегов Задачи ReportViewer в элементе Выбор отчетов выберите RDLC-файл, который будет использоваться с элементом управления.

  8. На панели смарт-тегов Задачи ReportViewer в элементе Выбор источников данных выберите набор данных для использования. Внизу рабочей области появятся объект набора данных, объект привязки источника и объект таблицы. Дополнительные сведения об обновлении ссылок на источники данных см. в разделе Обновление и повторная привязка ссылок на источники данных (конструктор отчетов Visual Studio).

  9. Сохраните все файлы, а затем постройте или разверните проект, чтобы убедиться, что отчет содержит все нужные данные.

Преобразование RDLC-в-RDL

Преобразование RDLC-файла в формат RDL проводится автоматически, если выполняются следующие условия.

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

  • Данные отчета передаются через таблицу данных. Если RDLC-файл использует данные из бизнес-объекта, то RDLC-файл необходимо преобразовать вручную. Сервер отчетов не поддерживает возможность обработки бизнес-объектов в отчете.

  • Источник данных, используемый RDLC-файлом, соответствует одному из модулей обработки данных, установленных на сервере отчетов (например, если источником данных является база данных SQL Server, можно использовать модуль обработки данных SQL Server, который по умолчанию устанавливается на сервере отчетов).

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

Чтобы автоматически преобразовать RDLC-файл, его можно переименовать в RDL-файл, а затем опубликовать или передать на сервер отчетов. Для публикации RDL-файла можно использовать среду Business Intelligence Development Studio в SQL Server 2005. Дополнительные сведения о создании проектов отчета, публикации отчетов и передаче файлов см. в электронной документации по SQL Server 2005.

Чтобы вручную преобразовать RDLC-файл в формат RDL, выполните следующие шаги.

  1. Определите источник данных для использования с RDL-файлом. Можно использовать реляционную базу данных SQL Server, многомерную базу данных служб Analysis Services, базу данных Oracle или любой другой из поддерживаемых источников данных. Схема должна совпадать со схемой, использованной для создания исходного макета отчета формата RDLC.

  2. Переименуйте RDLC-файл, указав для него расширение RDL.

  3. В SQL Server 2005 в среде Business Intelligence Development Studio создайте или откройте проект сервера отчетов, где будет содержаться отчет.

  4. В меню «Проект» выберите пункт Добавить существующий элемент. Выберите RDL-файл, созданный на первом шаге, и добавьте его к проекту.

  5. Откройте RDL-файл, добавленный к проекту, в обозревателе решений. Определение отчета откроется в режиме конструктора. Появятся следующие вкладки: «Данные», «Макет» и «Предварительный просмотр». Щелкните вкладку Данные, чтобы открыть отчет в представлении данных.

  6. В представлении данных, выберите первый набор данных и нажмите кнопку «Изменить» (), как показано на следующей схеме:

    Значок для редактирования набора данных

  7. В диалоговом окне «Набор данных» нажмите кнопку «Изменить» () рядом с именем источника данных.

  8. Обновите сведения о соединении. Следует заменить строку соединения, чтобы отчет соединялся с источником данных, выбранным для использования. Может понадобиться обновить тип источника данных, сервер, параметры проверки подлинности и выбор базы данных.

  9. Нажмите кнопку запуска (!), чтобы убедиться, что источник данных возвращает нужные данные.

  10. Повторите предыдущие шаги, чтобы изменить другие источники данных, используемые в отчете.

  11. Просмотрите отчет и убедитесь, что данные ожидаемым образом размещены в макете отчета. Чтобы просмотреть отчет, щелкните вкладку «Предварительный просмотр».

См. также

Понятия

Развертывание отчетов и элементов управления ReportViewer
Настройка ReportViewer для локальной обработки

Другие ресурсы

Образцы и пошаговые руководства