ReportingService2005.FindItems(String, BooleanOperatorEnum, SearchCondition[]) 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

CatalogItem[]

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 al Reporting Services WSDL e importare determinati spazi dei nomi. Per ulteriori informazioni, vedere compilazione ed esecuzione di esempi di codice. Nell'esempio di codice seguente viene eseguita la ricerca nel database del server di report di 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 si tratta di una ricerca di componenti: ReadProperties

Vengono restituiti solo gli elementi con la rispettiva ReadProperties autorizzazione.

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

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

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

Nel set di condizioni di ricerca è possibile specificare una sola istanza di un nome di proprietà.

La funzionalità di ricerca di non FindItems fa distinzione tra maiuscole e minuscole.

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

Si applica a