SSRS: Получите список всех отчетов и параметров в единственном вызове веб-сервиса?

Короткая и сладкая версия: существует ли единственный метод веб-сервиса, который возвратил бы названия всех доступных отчетов и параметры каждого отчета?

У меня есть свой веб-код (C#/MVC), подключенный к веб-сервису SSRS, и я могу получить отчеты через те сервисы.

Я знаю, что могу получить список доступных отчетов как это:

var rService = new ReportingService2005
{
 Url = @"http://domain.com/ReportServer/ReportService2005.asmx?wsdl",
 Credentials = System.Net.CredentialCache.DefaultCredentials
};

var reportList = rService.ListChildren(@"/Blah", true);

Результат ListChildren () дает большую информацию, но это не перечисляет параметры для каждого отчета. Для получения параметра для отчета я должен выполнить отдельный вызов:

string historyId = null;
ReportService.ParameterValue[] values = null;
ReportService.DataSourceCredentials[] credentials = null;

var parameters = rService.GetReportParameters(@"/Blah/" + reportName, historyId, true, values, credentials);

Таким образом, если бы я хочу получить все доступные отчеты и их параметры, я должен был бы циклично выполниться через результаты ListChildren, что означает, что я заставил бы веб-сервис призвать к каждому из тех отчетов.

Существует ли лучший способ сделать это?

11
задан Jason La 2 July 2010 в 20:56
поделиться

1 ответ

Такой сводки вызовов к интерфейсу веб-сервисов нет. В качестве альтернативы вы можете добиться чего-то подобного, напрямую запрашивая системные таблицы служб отчетов в базе данных ReportServer; но это будет зависеть от версии, и MS, вероятно, не будет его поддерживать.

При этом я использовал эти таблицы для создания нескольких специальных отчетов в прошлом. и проблем YMMV не испытывал.

1
ответ дан 3 December 2019 в 12:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: