Visual Studio для SSRS 2008 - Как организовать отчеты в подпапках в обозревателе решений?
Сейчас у меня есть проект, называемый отчетами с несколькими отчетами. В проводнике решений это выглядит так:
Shared Data Sources
-- DEV
Reports
-- Report1
-- Report2
-- Report3
Я хочу, чтобы это выглядело так и сохраняло ту же структуру на веб-сайте менеджера отчетов, когда я нажимаю на развертывание.
Shared Data Sources
-- DEV
Folder A
-- Report1
Folder B
-- Report2
-- Report3
Кто-нибудь знает, как это сделать?
Ответы
Ответ 1
Я использую SSRS 2005 - я думаю, что эта часть работает так же, как и в 2008 году.
Насколько я могу судить, у вас нет папок в проектах, но вы можете иметь несколько проектов в рамках решения.
Чтобы создать новую папку, щелкните правой кнопкой мыши на решении в обозревателе решений и выберите "Добавить" > "Создать проект...
Введите новое имя проекта (например, MyProject) и выберите Project сервера отчетов из списка установленных шаблонов Visual Studio. Нажмите "ОК", и ваш новый проект должен появиться в конце списка проектов в обозревателе решений.
(Существуют другие способы создания нового проекта "Отчеты", но это кажется самым быстрым.)
Если вы сейчас щелкните правой кнопкой мыши свой новый проект отчета и выберите "Свойства", вы увидите TargetReportFolder, который по умолчанию будет использовать ваше новое название проекта (например, MyProject). При развертывании отчетов из SSRS они развертываются в этом месте. (Вы можете изменить местоположение, если хотите - мне будет легче отслеживать, что происходит там, где используется имя проекта.)
Вам нужно будет скопировать любые источники данных, которые будут использоваться в каждом проекте, в папку источников данных всех проектов, использующих этот источник данных. По умолчанию для параметра OverwriteDataSources установлено значение false, поэтому при развертывании нового отчета он будет использовать источник данных, уже развернутый в среде Report Manager.
Итак, чтобы получить структуру диспетчера отчетов, которую вы хотите увидеть:
- Создать проекты под названием Folder A и Folder B
- Переместить/скопировать отчет1 в папку "Отчеты" в папке проекта "А"
- Переместить/скопировать Report2 и Report3 в папку Reports в папке проекта B
- Переместить/скопировать источник данных DEV в папки общих источников данных в папках проектов A и папке B
- Разверните отчеты
Не забудьте проверить свои изменения в исходном элементе управления.
Ответ 2
Как это похоже на другие плакаты, у меня есть одно решение с несколькими проектами (каждый проект назван и помещен в то же имя папки, которое я хочу, чтобы оно было развернуто).
Затем я подстроил a script в RS, который:
- Создает единый источник данных, используемый всеми отчетами, в моем случае
- Циклы через все каталоги в папке решения
- Создает одно и то же имя папки на сервере RS
- Развертывает все файлы в этом каталоге в этой папке на сервере RS
- Использует rs.SetItemDataSources для каждого отчета, чтобы перенаправить его в основной источник данных.
И это в основном это.
Предостережения: вы иногда получаете загруженные файлы, которые вам не нужны (например, удаленные отчеты с включенными RDL файлами). Но вы можете script обойти это или просто сдуть его в RS и снова загрузить снова.
Выполняя это, у меня есть один script, но вы можете развернуть структуру под разными родительскими папками, каждая с разными источниками данных, и иметь все отчеты в папке с данными из другой базы данных. Это позволяет мне запускать экземпляр 1x RS, но есть области разработки, тестирования, обучения и т.д.
Ответ 3
У меня есть проект BI в SSRS2008 с примерно 80 отчетами - и это мой опыт развертывания отчетов в папках. Это мой первый набег на разработку Reporting Services, поэтому любые гуру, пожалуйста, удари меня, если я выйду на обед.
Изначально я использовал папки в исходном элементе управления, чтобы отделить небольшие отчеты от отдела, чтобы помочь мне организовывать. Это работало нормально, когда я изначально разрабатывал свои отчеты, однако в первый раз, когда я развернул проект на сервере отчетов, структура была полностью сглажена, поэтому я отказался от использования структуры папок для организации.
Насколько мне известно, единственным способом создания структуры папок в SSRS является использование интерфейса диспетчера отчетов и создание папок на сервере отчетов. Я предполагаю, что вы измените путь в свойствах отчета в Visual Studio. Либо это, либо вы должны определить путь при первой настройке отчета. Я не тестировал это так YMMV.
Итак, в заключение: невозможно создать папки в BIDS и развернуть свои отчеты в папки с использованием среды IDE. Я надеюсь, что это будет рассмотрено в 2008R2, потому что это боль, имеющая все эти отчеты, брошенные вместе в обозревателе решений.
Ответ 4
Мы управляем этим с помощью связанных отчетов в SSRS. Мы развертываем отчеты в папку распространения отчетов, скрытые от пользователей, а затем создаем Связанные отчеты в веб-интерфейсе служб Reporting Services (опция в разделе "Управление" для каждого отчета). Вы можете создать Связанный отчет в любой папке, чтобы вы могли создать нужную структуру папок и поместить связанные отчеты в нужное место.
Вы можете развернуть все в единую папку распространения из VS, а связанные отчеты обновляются. Это решает проблемы суб-отчета и DataSource, поскольку все отчеты запускаются из дистрибутивной папки. Очевидно, что много настроек впереди, и создание новой среды - это проблема. Это случается так редко, что мы не пытались ее автоматизировать.
Ответ 5
У вас могут быть файлы в отдельных папках на диске/источнике, но они перечислены в алфавитном порядке в Visual Studio.
Я не вижу пользовательский интерфейс для управления вышеупомянутым, но если вы редактируете файл проекта (файл одного проекта VS-решения), вы можете указать тег FullPath XML каждого файла отчета.
Ответ 6
Я создал проект типа сервера отчетов и не имел возможности добавить еще один проект. Вместо этого я редактировал файл SLN и добавил другие мои проекты. Первая часть файла SLN выглядела так, как в конце концов, чтобы получить доступ к моим двум проектам в подпапках к файлу SLN
Файл решения Microsoft Visual Studio, формат версии 10.00
Visual Studio 2008
Project ( "{F14B399A-7131-4C87-9E4B-1186C45EF12D}" ) = "RestOfWorld", "RestOfWorld\RestOfWorld.rptproj", "{D24D5EEA-88A4-4375-802B-7CA877202787}"
EndProject
Проект ( "{F14B399A-7131-4C87-9E4B-1186C45EF12D}" ) = "Северная Америка", "Северная Америка\Северная Америка", "{C64A3BDC-F526-4037-AD48-31799BECC3AD}"
EndProject
Global
Ответ 7
@skiwii правильно, с версией сообщества VS 2013 и инструментами данных SQL - Business Intelligence, вы не видите решение node в верхней части дерева в VS Solution Explorer, и вам придется взломать. SLN, чтобы открыть его.
- Начните с требуемого файла master.sln и одного .rptproj в исходном дереве. назовите это "parent".
- Создайте новый, пустой файл Report Services.rptproj в новой подпапке (в папке, содержащей .sln). например, проект является "child1". VS также предоставит вам файл child1.sln в этой папке.
- Закройте все окна VS.
- С вашим любимым текстовым редактором (teco!)
- открыть файл child1.sln.
- Скопируйте 2 строки вверху; Project... и EndProject
- Открыть parent1.sln
- Вставьте эти строки в существующий проект /EndProject.
- Теперь откройте parent1.sln в VS. Волшебное решение Solution node находится в верхней части окна Solution Explorer.
Если вам повезло, вы также увидите второй проект с именем child1. Но если нет, не проблема. Вы можете просто щелкнуть правой кнопкой мыши по решению и добавить новый проект типа Report Services.