Я пытаюсь использовать SSRS в ситуации с несколькими арендаторами. Базовая версия, которую мы хотим поддерживать, — это SQL Server 2008, но если потребуется R2, мы можем с этим согласиться.
В настоящее время я использую конечную точку ReportingService2005.asmx, которая, кажется, предоставляет класс ReportService2005SoapClient (хотя все образцы показывают класс ReportingService2005).
Когда мы запускаем отчет, я хочу сделать копию этого отчета с сервера, добавить встроенный источник данных, указать наборы данных на этот источник данных, а затем запустить отчет.
Я дошел до:
получение RDL с сервера
изменение XML для добавления источника данных
указание наборов данных, чтобы они указывали на новый источник данных
... но когда я пытаюсь "CreateReport", я получаю следующую ошибку:
System.Web.Services.Protocols.SoapException: набор данных «DataSet1» ссылается на несуществующий источник данных «mydatasource_LOCAL».
в Microsoft.ReportingServices.Library.ReportingService2005Impl.ExecuteBatch(Guid batchId)
в Microsoft.ReportingServices.WebServer.ReportingService2005.ExecuteBatch()
Я добавил набор данных в RDL, он выглядит так же, как когда я добавляю его в дизайнере. Однако я предполагаю, что что-то нужно добавить на сервер? Что мне не хватает?
(Кроме того, я знаю, что MS Dynamics включила многопользовательский SSRS в одном экземпляре, но я не вижу информации о том, как они это сделали. Если у них есть какой-либо код или что-то, чем они делятся, кто-то может указать мне, что это было бы здорово.)