Кто-нибудь знает, как я могу скопировать пользовательские отчеты (и модель), которые кто-то создал, чтобы указать на другую базу данных (ту же схему).
Я действительно не хочу воссоздавать модель данных, потому что (а) она действительно сложна и (б) предыдущий разработчик добавил много понятных имен столбцов.
Копировать отчеты довольно просто, если у вас есть исходные файлы RDL / SMDL; просто повторно разверните / загрузите его снова и измените его имя / местоположение / источник данных.
Если у вас нет исходных файлов RDL / SMDL, вам необходимо извлечь их с сервера отчетов и повторно развернуть. Самый простой способ сделать это - через rs.exe
сценарий.
Ниже описывается, как копировать отчеты с одного сервера на другой, но те же принципы применяются при копировании отчетов и т. Д. На тот же сервер (с http://msdn.microsoft.com/en-us/library/ms159720.aspx):
Вы можете написать сценарии, которые дублируют среду сервера отчетов на другом экземпляре сервера отчетов. Сценарии развертывания обычно пишутся на Visual Basic, а затем обрабатываются с помощью служебной программы сценария сервера отчетов. В следующем списке описаны шаги по переносу отчетов с одного сервера на другой.
- Задайте в переменной скрипта URL-адрес исходного сервера отчетов.
- Используйте методы GetReportDefinition и GetProperties, чтобы получить определение отчета и свойства отчета.
- Задайте URL-адрес, указывающий на целевой сервер.
- Используйте метод CreateReport, передав свойства, возвращаемые GetProperties, и определение отчета, возвращаемое GetReportDefinition.
После того, как вы скопировали отчеты, вы можете изменить источник данных для отчетов и модель (при условии, что вы не сделали это программно через сценарий RSS):
Если они используют общий источник данных, будет проще оставить их как есть и изменить сервер, на который он ссылается, не затрагивая отчеты и модель, поэтому измените второй пункт выше на «Найдите общий источник данных, на который они ссылаются. "
Я написал инструмент, чтобы сделать то же самое. Может, и тебе это поможет.
Взгляни на: http://code.google.com/p/reportsync/