ReportingService2005.FindItems Méthode

Définition

Retourne les éléments qui correspondent aux critères de recherche dans une base de données du serveur de rapports.

public:
 cli::array <ReportService2005::CatalogItem ^> ^ FindItems(System::String ^ Folder, ReportService2005::BooleanOperatorEnum BooleanOperator, cli::array <ReportService2005::SearchCondition ^> ^ Conditions);
public ReportService2005.CatalogItem[] FindItems (string Folder, ReportService2005.BooleanOperatorEnum BooleanOperator, ReportService2005.SearchCondition[] Conditions);
member this.FindItems : string * ReportService2005.BooleanOperatorEnum * ReportService2005.SearchCondition[] -> ReportService2005.CatalogItem[]
Public Function FindItems (Folder As String, BooleanOperator As BooleanOperatorEnum, Conditions As SearchCondition()) As CatalogItem()

Paramètres

Folder
String

URL complète du dossier à rechercher. Pour effectuer une recherche dans l'intégralité de la base de données du serveur de rapports, spécifiez le dossier racine (/).

BooleanOperator
BooleanOperatorEnum

L'opérateur logique qui est appliqué pour connecter les conditions de recherche. Les valeurs possibles sont AND et OR. La valeur par défaut est AND.

Conditions
SearchCondition[]

Tableau d'objets SearchCondition qui définit les noms et valeurs des propriétés à rechercher.

Retours

Tableau d'objets CatalogItem dans la base de données du serveur de rapports qui correspond aux critères de recherche spécifiés.

Exemples

Pour compiler cet exemple de code, vous devez référencer le Reporting Services WSDL et importer certains espaces de noms. Pour plus d’informations, consultez Compilation et exécution d’exemples de code. L’exemple de code suivant recherche dans la base de données du serveur de rapports tous les rapports dont les noms contiennent le mot « Ventes » :

Imports System  
Imports System.Web.Services.Protocols  

Class Sample  
   Public Shared Sub Main()  
      Dim rs As New ReportingService2005()  
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials  

      Dim items As CatalogItem() = Nothing  
      Dim condition As New SearchCondition()  
      condition.Condition = ConditionEnum.Contains  
      condition.ConditionSpecified = True  
      condition.Name = "Name"  
      condition.Value = "Sales"  

      Dim conditions(0) As SearchCondition  
      conditions(0) = condition  

      Try  
         items = rs.FindItems("/", BooleanOperatorEnum.Or, conditions)  

         If Not (items Is Nothing) Then  
            Dim ci As CatalogItem  
            For Each ci In  items  
               Console.WriteLine("Item {0} found at {1}", ci.Name, ci.Path)  
            Next ci  
         End If  

      Catch e As SoapException  
         Console.WriteLine(e.Detail.InnerXml.ToString())  
      End Try  
   End Sub 'Main  
End Class 'Sample  
using System;  
using System.Web.Services.Protocols;  

class Sample  
{  
   public static void Main()  
   {  
      ReportingService2005 rs = new ReportingService2005();  
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials;  

      CatalogItem[] items = null;  
      SearchCondition condition = new SearchCondition();  
      condition.Condition = ConditionEnum.Contains;  
      condition.ConditionSpecified = true;  
      condition.Name = "Name";  
      condition.Value = "Sales";  

      SearchCondition[] conditions = new SearchCondition[1];  
      conditions[0] = condition;  

      try  
      {  
         items = rs.FindItems( "/", BooleanOperatorEnum.Or, conditions );  

         if ( items != null )  
         {  
            foreach ( CatalogItem ci in items)  
            {  
               Console.WriteLine( "Item {0} found at {1}", ci.Name, ci.Path );  
            }  
         }  
      }  

      catch ( SoapException e )  
      {  
         Console.WriteLine( e.Detail.InnerXml.ToString() );   
      }  
   }  
}  

Remarques

Le tableau suivant présente les informations relatives aux en-têtes et aux autorisations sur cette opération.

En-têtes SOAP (Out) ServerInfoHeaderValue
Autorisations requises Si ce n’est pas un composant, recherchez : ReadProperties

Seuls les éléments disposant de l’autorisation respective ReadProperties sont retournés.

La longueur du Folder paramètre ne peut pas dépasser 260 caractères ; sinon, une exception SOAP est levée avec le code d’erreur rsItemLengthExceeded.

Le Folder paramètre ne peut pas être null ou vide ou contenir les caractères réservés suivants : : ? ; @ & = + $ , \ * > < | . ". Vous pouvez utiliser la barre oblique (/) pour séparer les éléments dans le nom complet du chemin d’accès du dossier, mais vous ne pouvez pas l’utiliser à la fin du nom du dossier.

Le serveur de rapports ne prend pas en charge les caractères génériques au milieu de la condition de recherche. Les caractères génériques incluent %, _, [, ], ^, et -. Si un caractère générique est présent, le serveur de rapports traite le caractère littéralement.

Une seule instance d’un nom de propriété peut être fournie dans l’ensemble des conditions de recherche.

La fonctionnalité de recherche de ne respecte pas la FindItems casse.

Les applications qui utilisent FindItems acceptent généralement l’entrée utilisateur pour des propriétés et des valeurs de propriété spécifiques. Les propriétés pouvant faire l’objet d’une recherche sont Name, CreatedByDescription, CreationDate, ModifiedBy, et ModifiedDate. Les éléments retournés sont uniquement ceux pour lesquels un utilisateur dispose d’une Read Properties autorisation.

S’applique à