Language

ReportingService2005.FindItems メソッド

定義

検索条件に一致する項目をレポートサーバーデータベースから返します。

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

パラメーター

Folder
String

検索するフォルダの完全限定URLです。 レポートサーバーデータベース全体を検索するには、ルートフォルダ(/)を指定します。

BooleanOperator
BooleanOperatorEnum

探索条件を結びつけるために適用される論理演算子。 可能な値は、AND と OR です。 既定値は AND です。

Conditions
SearchCondition[]

検索するプロパティ名や値を定義する SearchCondition オブジェクトの配列です。

返品

指定された検索条件に対応するレポートサーバーデータベース内の CatalogItem オブジェクトの配列です。

例

このコード例をコンパイルするには、Reporting Services WSDLを参照し、特定の名前空間をインポートする必要があります。 詳細については 、「コード例のコンパイルと実行」をご覧ください。 以下のコード例は、「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() );   
      }  
   }  
}  

注釈

以下の表は、この操作のヘッダーおよび権限情報を示しています。

SOAPヘッダー (アウト) ServerInfoHeaderValue
必要なアクセス許可 コンポーネント検索でなければ: ReadProperties

ReadProperties許可を得た物品のみが返却されます。

Folderパラメータの長さは260文字を超えてはなりません。そうでなければ、エラーコードrsItemLengthExceedでSOAP例外が発生します。

Folderパラメータはnullや空であってはならず、以下の保留文字を含むことはできません:: ? ; @ & = + $ , \ * > < | . "。 フォルダーのフルパス名の項目を区切るためにスラッシュ文字(/)を使うことはできますが、フォルダ名の最後に使うことはできません。

レポートサーバーは検索条件の途中でワイルドカード文字をサポートしていません。 ワイルドカード文字には %、_、[、]、^、そして-が含まれます。 ワイルドカードキャラクターが存在する場合、レポートサーバーはそのキャラクターを文字通り扱います。

検索条件の集合で、物件名のインスタンスは1つしか提供できません。

FindItemsの検索機能は大文字を区別しません。

FindItemsを利用するアプリケーションは通常、特定のプロパティやプロパティ値についてユーザーの入力を受け付けます。 検索可能なプロパティは、 Name、 Description、 CreatedBy、 CreationDate、 ModifiedBy、 ModifiedDateです。 返却される項目は、ユーザーの許可が Read Properties にあるもののみです。

適用対象