Прямо сейчас у меня есть проект, названный отчетами с несколькими отчетами. В проводнике решения это похоже на это:
Shared Data Sources
-- DEV
Reports
-- Report1
-- Report2
-- Report3
Я хочу заставить его быть похожим на это и иметь ту же структуру, переносят на веб-сайт диспетчера отчетов, когда я нажимаю, развертываются.
Shared Data Sources
-- DEV
Folder A
-- Report1
Folder B
-- Report2
-- Report3
Кто-либо знает, как сделать это?
Я использую SSRS 2005 - я думаю , что эта его часть работает так же, как и 2008.
Насколько я могу судить, вы можете ' В проектах есть папки, но вы можете иметь несколько проектов в рамках одного решения.
Чтобы создать новую папку, щелкните правой кнопкой мыши решение в обозревателе решений и выберите Добавить> Новый проект ...
Введите имя нового проекта (например,MyProject) и выберите Report Server Project из списка установленных шаблонов Visual Studio. Нажмите OK, и ваш новый проект должен появиться в конце списка проектов в обозревателе решений.
(Существуют и другие способы создания нового проекта отчетов, но этот кажется наиболее быстрым.)
Если теперь щелкнуть правой кнопкой мыши новый проект отчета и выбрать «Свойства», вы увидите TargetReportFolder, который по умолчанию будет использоваться ваше новое имя проекта (например, MyProject). Когда вы развертываете отчеты из SSRS, они развертываются в этом месте. (Вы можете изменить местоположение, если хотите - мне легче отслеживать, что и где происходит, используя имя проекта.)
Вам нужно будет скопировать любые источники данных, которые будут использоваться в каждом проекте, в данные папка sources всех проектов, которые используют этот источник данных. По умолчанию OverwriteDataSources имеет значение false, поэтому при развертывании нового отчета он будет использовать источник данных, уже развернутый в среде диспетчера отчетов.
Итак, чтобы получить желаемую структуру диспетчера отчетов:
Не забудьте проверить свои изменения в источнике контроль.
У меня есть BI-проект в SSRS2008 с примерно 80 отчетами - и это мой опыт развертывания отчетов в папки. Это моя первая попытка разработки в Reporting Services, поэтому все гуру, пожалуйста, укажите мне, если я не успел пообедать.
Изначально я использовал папки в системе управления источниками для разделения небольших отчетов по отделам, чтобы помочь мне сохранить организованность. Это отлично работало, пока я только разрабатывал отчеты, однако при первом развертывании проекта на сервере отчетов структура была полностью сплющена, поэтому я отказался от использования структуры папок для организации.
Насколько я знаю, единственный способ создать структуру папок в SSRS - это использовать пользовательский интерфейс Report Manager и создать папки на сервере отчетов. Я предполагаю, что оттуда вы измените путь в свойствах отчета в Visual Studio. Либо вы должны определить путь при первой настройке отчета. Я не проверял это, так что на ваше усмотрение.
Итак, в заключение: Невозможно создать папки в BIDS и развернуть отчеты в папки, используя IDE. Надеюсь, это будет решено в 2008R2, потому что это довольно неприятно, когда все эти отчеты собраны вместе в Solution Explorer.
Способ аналогичен другим постерам, у меня есть одно решение с несколькими проектами (каждый проект назван и помещен в ту же папку, в которую я хочу его развернуть).
Затем я создал скрипт в RS, который:
- Создает единый источник данных, используемый всеми отчетами, в моем случае
-- перебирает все каталоги в папке решения
-- Создает такое же имя папки на сервере RS
-- Развертывает все файлы в этой директории в эту папку на сервере RS
-- Использует rs.SetItemDataSources в каждом отчете, чтобы перенаправить его на мой основной источник данных
И это в основном все.
Оговорки заключаются в том, что иногда загружаются файлы, которые вы не хотели (например, удаленные отчеты с .RDL, которые все еще висят вокруг). Но это можно обойти скриптом, или просто удалить их в RS и загрузить заново.
Делая это, я имею один сценарий, но могу развернуть структуру под множеством различных родительских папок, каждая с различными источниками данных, и все отчеты в одной папке берут данные из другой базы данных. Это позволяет мне запускать 1 экземпляр RS, но иметь области разработки, тестирования, обучения и т. д.