Lenguaje

ReportingService2005.FindItems Método

Definición

Devuelve elementos de una base de datos de un servidor de informes que cumplen con los criterios de búsqueda.

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

Parámetros

Folder
String

La URL totalmente calificada de la carpeta para buscar. Para buscar en toda la base de datos del servidor de informes, especifica la carpeta raíz (/).

BooleanOperator
BooleanOperatorEnum

El operador lógico que se aplica para conectar las condiciones de búsqueda. Los valores posibles son AND y OR. El valor por defecto es AND.

Conditions
SearchCondition[]

Un array de SearchCondition objetos que define los nombres y valores de las propiedades para los que buscar.

Devoluciones

Un array de CatalogItem objetos en la base de datos del servidor de informes que corresponden a los criterios de búsqueda especificados.

Ejemplos

Para compilar este ejemplo de código, debes consultar el WSDL de Reporting Services e importar ciertos espacios de nombres. Para más información, consulte Ejemplos de Compilación y Ejecución de Código. El siguiente ejemplo de código busca en la base de datos del servidor de informes todos los informes cuyos nombres contienen la palabra "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() );   
      }  
   }  
}  

Comentarios

La siguiente tabla muestra la información sobre cabeceras y permisos sobre esta operación.

Encabezados SOAP (Fuera) ServerInfoHeaderValue
Permisos necesarios Si no es una búsqueda por componentes: ReadProperties

Solo se devuelven los objetos con el permiso correspondiente ReadProperties .

La longitud del Folder parámetro no puede superar los 260 caracteres; de lo contrario, se lanza una excepción SOAP con el código de error rsItemLengthExceeded.

El Folder parámetro no puede ser nulo ni vacío ni contener los siguientes caracteres reservados: : ? ; @ & = + $ , \ * > < | . ". Puedes usar el carácter de barra hacia adelante (/) para separar elementos en el nombre completo de la carpeta, pero no puedes usarlo al final del nombre de la carpeta.

El servidor de informes no admite caracteres comodines en medio de la condición de búsqueda. Los caracteres comodines incluyen %, _, [, ], ^ y -. Si hay un personaje comodín presente, el servidor de informes trata al personaje literalmente.

Solo se puede proporcionar una instancia de un nombre de propiedad en el conjunto de condiciones de búsqueda.

La funcionalidad de búsqueda es FindItems insensible a mayúsculas y mayúsculas.

Las aplicaciones que usan FindItems suelen aceptar entrada del usuario para propiedades y valores específicos de propiedades. Las propiedades buscables son Name, Description, CreatedBy, CreationDate, ModifiedBy, y ModifiedDate. Los elementos que se devuelven son solo aquellos para los que el usuario tiene Read Properties permiso.

Se aplica a