Condividi tramite


ReportingService2005.FindItems Metodo

Definizione

Restituisce elementi di un database del server di report che corrispondono ai criteri di ricerca.

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

Parametri

Folder
String

URL completo della cartella da cercare. Per eseguire ricerche nel database del server di report intero, specificare la cartella radice (/).

BooleanOperator
BooleanOperatorEnum

Operatore logico applicato per collegare le condizioni di ricerca. I valori possibili sono AND e OR. Il valore predefinito è AND.

Conditions
SearchCondition[]

Matrice di oggetti SearchCondition che definisce i nomi e i valori delle proprietà da cercare.

Restituisce

Matrice di oggetti CatalogItem contenuti nel database del server di report che corrispondono ai criteri di ricerca specificati.

Esempio

Per compilare questo esempio di codice, è necessario fare riferimento alla Reporting Services WSDL e importare determinati spazi dei nomi. Per altre informazioni, vedere Compilazione ed esecuzione di esempi di codice. Nell'esempio di codice seguente viene ricercato il database del server di report per tutti i report i cui nomi contengono la parola "Sales":

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

Commenti

Nella tabella seguente vengono mostrate le informazioni sull'intestazione e sulle autorizzazioni relative a questa operazione.

Intestazioni SOAP (Out) ServerInfoHeaderValue
Autorizzazioni necessarie Se non una ricerca di componenti: ReadProperties

Vengono restituiti solo gli elementi con la rispettiva ReadProperties autorizzazione.

La lunghezza del parametro non può superare i 260 caratteri. In caso contrario, viene generata un'eccezione SOAP con il codice di Folder errore rsItemLengthExceeded.

Il Folder parametro non può essere null o vuoto o contenere i caratteri riservati seguenti: : ? ; @ & = + $ , \ * > < | . ". È possibile usare il carattere barra in avanti (/) per separare gli elementi nel nome completo del percorso della cartella, ma non è possibile usarlo alla fine del nome della cartella.

Il server di report non supporta caratteri jolly al centro della condizione di ricerca. I caratteri jolly includono %, _, [, ], ^e -. Se è presente un carattere jolly, il server di report tratta il carattere letteralmente.

È possibile specificare solo un'istanza di un nome di proprietà nel set di condizioni di ricerca.

La funzionalità di ricerca di FindItems è senza distinzione tra maiuscole e minuscole.

Le applicazioni che usano FindItems in genere accettano l'input utente per proprietà e valori di proprietà specifici. Le proprietà ricercabili sono Name, , DescriptionCreatedByCreationDate, , ModifiedBye ModifiedDate. Gli elementi restituiti sono solo quelli per i quali un utente dispone Read Properties dell'autorizzazione.

Si applica a