ReportingService2005.FindItems Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.