ReportingService2005.FindItems Methode

Definition

Gibt die Elemente von einer Berichtsserver-Datenbanksuche zurück, die den angegebenen Suchkriterien entsprechen.

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()

Parameter

Folder
String

Die vollqualifizierte URL des Ordners, der gesucht werden soll. Geben Sie den Stammordner (/) an, um die ganze Berichtsserver-Datenbank zu durchsuchen.

BooleanOperator
BooleanOperatorEnum

Der logische Operator, der angewendet wird, um die Suchbedingungen zu verbinden. Mögliche Werte sind AND und OR. Standardwert: AND.

Conditions
SearchCondition[]

Ein Array von SearchCondition-Objekten, das die Eigenschaftennamen und die Werte definiert, nach denen gesucht werden soll.

Gibt zurück

Ein Array von CatalogItem-Objekten in der Berichtsserver-Datenbank, die den angegebenen Suchkriterien entsprechen.

Beispiele

Um dieses Codebeispiel zu kompilieren, müssen Sie auf die Reporting Services WSDL verweisen und bestimmte Namespaces importieren. Weitere Informationen finden Sie unter Kompilieren und Ausführen von Codebeispielen. Im folgenden Codebeispiel wird die Berichtsserver-Datenbank nach allen Berichten durchsucht, deren Namen das Wort "Sales" enthalten:

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() );   
      }  
   }  
}  

Hinweise

In der folgenden Tabelle werden Header- und Berechtigungsinformationen zu diesem Vorgang dargestellt.

SOAP-Header (Out) ServerInfoHeaderValue
Erforderliche Berechtigungen Falls nicht eine Komponentensuche: ReadProperties

Nur die Elemente mit der entsprechenden ReadProperties Berechtigung werden zurückgegeben.

Die Länge des Folder Parameters darf 260 Zeichen nicht überschreiten. Andernfalls wird eine SOAP-Ausnahme mit dem Fehlercode rsItemLengthExceeded ausgelöst.

Der Folder Parameter darf nicht NULL oder leer sein oder die folgenden reservierten Zeichen enthalten: : ? ; @ & = + $ , \ * > < | . ". Sie können den Schrägstrich (/) verwenden, um Elemente im vollständigen Pfadnamen des Ordners zu trennen, aber sie können es nicht am Ende des Ordnernamens verwenden.

Der Berichtsserver unterstützt keine Feldhalterzeichen in der Mitte der Suchbedingung. Zu den Feldhalterzeichen gehören %, _, [, ], ^und -. Wenn ein Feldhalterzeichen vorhanden ist, behandelt der Berichtsserver das Zeichen wörtlich.

Im Satz der Suchbedingungen kann nur eine instance eines Eigenschaftennamens angegeben werden.

Bei der Suchfunktion von FindItems wird die Groß-/Kleinschreibung nicht beachtet.

Anwendungen, die verwenden FindItems , akzeptieren in der Regel Benutzereingaben für bestimmte Eigenschaften und Eigenschaftswerte. Die durchsuchbaren Eigenschaften sind Name, Description, CreatedBy, CreationDateund ModifiedDateModifiedBy. Die zurückgegebenen Elemente sind nur die Elemente, für die ein Benutzer über die Berechtigung verfügt Read Properties .

Gilt für: