2017-01-17 9 views
0

Мне нужно внести одинаковые изменения в сотни отчетов, и я надеялся сделать это через SQL вместо каждого отдельного отчета и его запроса. Я могу извлечь запрос отчета через xml и создать список отчетов, их местоположение и используемый запрос. Но я не могу понять, как обновить запрос отчета, а затем обновить его в Каталоге? чтобы сам отчет отражал изменения при их исполнении? Я никогда не видел, где это возможно, но, возможно, кто-то здесь пытался это сделать или знает, что это невозможно.Обновление нескольких отчетов SSRS навалом

Я мог бы использовать SSIS и сделать это, но я бы предпочел не загружать все RDL, а затем обновлять, а затем повторно разворачивать/выгружать отчеты. Был надеяться обновить на месте отчеты/RDL.

ответ

2

Вам не нужно загружать RDL, они должны быть уже в вашей системе управления версиями и идеально собраны и сгруппированы в проекты (проекты). Если это так, вам повезло - вы можете использовать глобальные возможности поиска/замены Visual Studio (BIDS) или Notepad ++ для внесения изменений.

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

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

+0

Slugster, спасибо за комментарии и подтверждение. К сожалению, отчеты создаются несколькими разными людьми в бизнесе, и я вошел в этот беспорядок несколько месяцев назад. Я полностью согласен с использованием хранимых процедур, и это то, что я обычно рекомендую, когда я могу это контролировать. :-( –