Как я могу совместно использовать источник данных между несколькими проектами в Microsoft SQL Server 2005 Reporting Services и поддерживать Visual Studio в «Предварительном просмотре»? - PullRequest
9 голосов
/ 11 ноября 2009

У меня есть решение, которое содержит несколько проектов отчетов (по одному на целевую папку развертывания - я думаю, что это единственный способ добиться этого, по крайней мере, до тех пор, пока я не оставлю Visual Studio для развертывания отчетов).

Я хочу указать информацию о моем источнике данных «один раз и только один раз» для всех этих отчетов.

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

Однако, когда я разрабатываю отчет, я больше не могу "Предварительный просмотр", чтобы попробовать его локально - теперь я должен развернуть его на сервере отчетов, чтобы попытаться запустить его. Это хлопот.

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

Ответы [ 2 ]

9 голосов
/ 23 ноября 2009

Метод (грязный трюк?), С которым я сейчас играю, состоит в том, чтобы копировать мой источник данных (.rds) в каждый проект, закрывать Visual Studio, а затем в соответствующие файлы / папки:

  • Удалить скопированные .rds из моих проектов отчетов (в моем проекте Data Sources осталась только одна копия)
  • В файле проекта каждого отчета (Foo.rptproj) измените текст элемента Project.DataSources.ProjectItem.FullPath с My Shared Data Source.rds на ..\Data Sources\My Shared Data Source.rds

Таким образом, все проекты отчетов ссылаются на один и тот же базовый файл в файловой системе, поэтому они используют одно определение источника данных, но каждый проект также имеет «локальный» общий источник данных, поэтому Visual Studio остается довольным.

Относительно контроля исходного кода: все еще остается только одна копия .rds, поэтому мы не загрязняем базу кода множеством лишних дубликатов; изменения в файлах .rptproj могут быть возвращены, поэтому мы не заставляем разработчиков заниматься неестественной гимнастикой с управлением исходным кодом (выборочные частичные коммиты и т. д.), чтобы сохранить разумную мастер-копию.

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

Отказ от ответственности: это все еще эксперимент. У меня пока нет опыта применения этой техники на практике, поэтому я не могу пойти так далеко, чтобы действительно рекомендовать ее.

0 голосов
/ 13 ноября 2009

Древесный,

То, что мы стремимся сделать, это:

  1. На сервере есть папка с названием «Источники данных», которая скрыта от пользователей. Там будут все источники данных.

  2. Для каждого проекта отчетов в VS будет папка, также называемая «Источники данных», но на этот раз она будет содержать только источник данных для этого отчета.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...