ReportService2005 находит элементы по параметру с логическим типом данных

#c# #sql-server #reporting-services

#c# #sql-сервер #службы отчетов

Вопрос:

Я добавил логический параметр с именем IsNewReport в некоторые из моих отчетов, и я пытаюсь получить список этих отчетов с помощью веб-службы SSRS (ReportService2005.asmx).

Но я продолжаю получать исключение, выдаваемое веб-службой «Поле IsNewReport имеет недопустимое значение».

Итак, как я должен настроить SearchCondition для поиска моих отчетов?

Вот пример вызова веб-сервиса:

 var reports = ReportingService2005.FindItems("/MyReports",
    BooleanOperatorEnum.Or, GetSearchConditions());
  

И вот пример метода GetSearchCondition

 private static SearchCondition[] GetSearchConditions()
{
    List<SearchCondition> conditions = new List<SearchCondition>();

    SearchCondition searchCondition = new SearchCondition();

    searchCondition.Condition = ConditionEnum.Equals;
    searchCondition.ConditionSpecified = true;
    searchCondition.Name = "IsNewReport";
    searchCondition.Value = "true";

    conditions.Add(searchCondition);

    return conditions.ToArray();
}
  

PS Я попробовал этот код, изменив имя свойства на «Name» и значение, соответствующее имени одного из существующих отчетов, и это работает без исключения.

Ответ №1:

Хорошо, я понял — вы не можете использовать FindItems для поиска, хотя параметры отчета определяют только свойства отчета. «Name» сработало, потому что это свойство отчета, где как IsNewReport является параметром, который я добавил в отчет.