Visual Studio на 2008 SSRS - Как организовать отчеты в подпапки в Проводнике Решения?

Прямо сейчас у меня есть проект, названный отчетами с несколькими отчетами. В проводнике решения это похоже на это:

Shared Data Sources
 -- DEV
Reports
 -- Report1
 -- Report2
 -- Report3

Я хочу заставить его быть похожим на это и иметь ту же структуру, переносят на веб-сайт диспетчера отчетов, когда я нажимаю, развертываются.

Shared Data Sources
 -- DEV
Folder A
 -- Report1
Folder B
 -- Report2
 -- Report3

Кто-либо знает, как сделать это?

28
задан Greg 22 July 2010 в 12:53
поделиться

3 ответа

Я использую SSRS 2005 - я думаю , что эта его часть работает так же, как и 2008.

Насколько я могу судить, вы можете ' В проектах есть папки, но вы можете иметь несколько проектов в рамках одного решения.

Чтобы создать новую папку, щелкните правой кнопкой мыши решение в обозревателе решений и выберите Добавить> Новый проект ...

Введите имя нового проекта (например,MyProject) и выберите Report Server Project из списка установленных шаблонов Visual Studio. Нажмите OK, и ваш новый проект должен появиться в конце списка проектов в обозревателе решений.

(Существуют и другие способы создания нового проекта отчетов, но этот кажется наиболее быстрым.)

Если теперь щелкнуть правой кнопкой мыши новый проект отчета и выбрать «Свойства», вы увидите TargetReportFolder, который по умолчанию будет использоваться ваше новое имя проекта (например, MyProject). Когда вы развертываете отчеты из SSRS, они развертываются в этом месте. (Вы можете изменить местоположение, если хотите - мне легче отслеживать, что и где происходит, используя имя проекта.)

Вам нужно будет скопировать любые источники данных, которые будут использоваться в каждом проекте, в данные папка sources всех проектов, которые используют этот источник данных. По умолчанию OverwriteDataSources имеет значение false, поэтому при развертывании нового отчета он будет использовать источник данных, уже развернутый в среде диспетчера отчетов.

Итак, чтобы получить желаемую структуру диспетчера отчетов:

  • Создайте проекты с именами Папка A и Папка B
  • Переместите / скопируйте Report1 в папку отчетов в папке проекта A
  • Переместите / скопируйте Report2 и Report3 в папку отчетов в папке проекта B
  • Переместите / скопируйте источник данных DEV в папки общих источников данных в папке проектов A и папке B
  • Разверните свои отчеты

Не забудьте проверить свои изменения в источнике контроль.

28
ответ дан 28 November 2019 в 03:35
поделиться

У меня есть BI-проект в SSRS2008 с примерно 80 отчетами - и это мой опыт развертывания отчетов в папки. Это моя первая попытка разработки в Reporting Services, поэтому все гуру, пожалуйста, укажите мне, если я не успел пообедать.

Изначально я использовал папки в системе управления источниками для разделения небольших отчетов по отделам, чтобы помочь мне сохранить организованность. Это отлично работало, пока я только разрабатывал отчеты, однако при первом развертывании проекта на сервере отчетов структура была полностью сплющена, поэтому я отказался от использования структуры папок для организации.

Насколько я знаю, единственный способ создать структуру папок в SSRS - это использовать пользовательский интерфейс Report Manager и создать папки на сервере отчетов. Я предполагаю, что оттуда вы измените путь в свойствах отчета в Visual Studio. Либо вы должны определить путь при первой настройке отчета. Я не проверял это, так что на ваше усмотрение.

Итак, в заключение: Невозможно создать папки в BIDS и развернуть отчеты в папки, используя IDE. Надеюсь, это будет решено в 2008R2, потому что это довольно неприятно, когда все эти отчеты собраны вместе в Solution Explorer.

2
ответ дан 28 November 2019 в 03:35
поделиться

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

Затем я создал скрипт в RS, который:
- Создает единый источник данных, используемый всеми отчетами, в моем случае
-- перебирает все каталоги в папке решения
-- Создает такое же имя папки на сервере RS
-- Развертывает все файлы в этой директории в эту папку на сервере RS
-- Использует rs.SetItemDataSources в каждом отчете, чтобы перенаправить его на мой основной источник данных

И это в основном все.

Оговорки заключаются в том, что иногда загружаются файлы, которые вы не хотели (например, удаленные отчеты с .RDL, которые все еще висят вокруг). Но это можно обойти скриптом, или просто удалить их в RS и загрузить заново.

Делая это, я имею один сценарий, но могу развернуть структуру под множеством различных родительских папок, каждая с различными источниками данных, и все отчеты в одной папке берут данные из другой базы данных. Это позволяет мне запускать 1 экземпляр RS, но иметь области разработки, тестирования, обучения и т. д.

4
ответ дан 28 November 2019 в 03:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: