ReportingService2005.FindItems Methode

Definition

Gibt Einträge aus einer Berichtsserver-Datenbank zurück, die den 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 vollständig qualifizierte URL des Ordners, der durchsucht werden soll. Um die gesamte Berichtsserver-Datenbank zu durchsuchen, geben Sie den Root-Ordner (/) an.

BooleanOperator
BooleanOperatorEnum

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

Conditions
SearchCondition[]

Ein Array von SearchCondition Objekten, das die Eigenschaften und 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 zurückgreifen und bestimmte Namensräume importieren. Weitere Informationen finden Sie unter Beispiele für Kompilierung und Ausführung von Coden. Das folgende Codebeispiel durchsucht die Berichtsserver-Datenbank nach allen Berichten, 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

Die untenstehende Tabelle zeigt Header- und Berechtigungsinformationen zu dieser Operation.

SOAP-Überschriften (Aus) ServerInfoHeaderValue
Erforderliche Berechtigungen Falls keine Komponentensuche: ReadProperties

Nur die Gegenstände mit entsprechender Genehmigung ReadProperties werden zurückgegeben.

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

Der Parameter Folder kann weder null noch leer sein oder die folgenden reservierten Zeichen enthalten: : ? ; @ & = + $ , \ * > < | . ". Du kannst das Forward-Schrägstrichzeichen (/) verwenden, um Elemente im vollständigen Pfadnamen des Ordners zu trennen, aber am Ende des Ordnernamens kannst du es nicht verwenden.

Der Berichtsserver unterstützt keine Wildcard-Zeichen mitten in der Suchbedingung. Jokercharaktere umfassen %, _, [, ], ^ und -. Wenn ein Wildcard-Charakter vorhanden ist, behandelt der Report Server den Charakter wörtlich.

Es kann nur eine Instanz eines Eigenschaftsnamens in der Menge der Suchbedingungen angegeben werden.

Die Suchfunktion von FindItems ist nicht großschreibungssensitiv.

Anwendungen, die verwenden FindItems , akzeptieren typischerweise Benutzereingaben für bestimmte Eigenschaften und Eigenschaftswerte. Die durchsuchbaren Eigenschaften sind Name, Description, , CreatedBy, ModifiedByCreationDate, und ModifiedDate. Die zurückgegebenen Einträge sind nur solche, für die ein Nutzer eine Berechtigung hat Read Properties .

Gilt für: