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 los elementos de una base de datos del servidor de informes que coinciden 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
Dirección URL completa de la carpeta en la que se buscará. Para buscar en toda la base de datos del servidor de informes, especifique la carpeta raíz (/).
- BooleanOperator
- BooleanOperatorEnum
Operador lógico que se aplica para conectarse a las condiciones de búsqueda. Los valores posibles son AND
y OR
. El valor predeterminado es AND
.
- Conditions
- SearchCondition[]
Matriz de objetos SearchCondition que define los nombres de propiedad y los valores que se buscarán.
Devoluciones
Matriz de objetos CatalogItem en la base de datos del servidor de informes que corresponden al criterio de búsqueda especificado.
Ejemplos
Para compilar este ejemplo de código, debe hacer referencia al Reporting Services WSDL e importar determinados espacios de nombres. Para obtener más información, vea Compilar y ejecutar ejemplos de código. En el ejemplo de código siguiente se busca en la base de datos del servidor de informes todos los informes cuyos nombres contengan 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
En la siguiente tabla se muestra la información de encabezado y de permisos de esta operación.
Encabezados SOAP | (Out) ServerInfoHeaderValue |
Permisos necesarios | Si no es una búsqueda de componentes: ReadProperties Solo se devuelven los elementos con el permiso correspondiente ReadProperties . |
La longitud del Folder
parámetro no puede superar los 260 caracteres; de lo contrario, se produce una excepción SOAP con el código de error rsItemLengthExceeded.
El Folder
parámetro no puede ser nulo ni estar vacío ni contener los siguientes caracteres reservados: : ? ; @ & = + $ , \ * > < | . "
. Puede usar el carácter de barra diagonal (/) para separar los elementos del nombre de ruta de acceso completo de la carpeta, pero no puede usarlo al final del nombre de la carpeta.
El servidor de informes no admite caracteres comodín en medio de la condición de búsqueda. Los caracteres comodín incluyen %, _, [, ], ^y -. Si hay un carácter comodín presente, el servidor de informes trata el carácter 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 de no distingue mayúsculas de FindItems minúsculas.
Las aplicaciones que usan FindItems normalmente aceptan entradas de usuario para propiedades y valores de propiedad específicos. Las propiedades que se pueden buscar son Name, Description, CreatedBy, CreationDate, ModifiedByy ModifiedDate. Los elementos que se devuelven son solo los para los que un usuario tiene Read Properties
permiso.