次の方法で共有


FindItems メソッド

レポート サーバー データベースから、検索条件に一致するアイテムを返します。

名前空間:  ReportService2005
アセンブリ:  ReportService2005 (ReportService2005.dll)

構文

'宣言
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction := SoapHeaderDirection.Out)> _
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/FindItems", RequestNamespace := "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",  _
    ResponseNamespace := "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
Public Function FindItems ( _
    Folder As String, _
    BooleanOperator As BooleanOperatorEnum, _
    Conditions As SearchCondition() _
) As CatalogItem()
'使用
Dim instance As ReportingService2005
Dim Folder As String
Dim BooleanOperator As BooleanOperatorEnum
Dim Conditions As SearchCondition()
Dim returnValue As CatalogItem()

returnValue = instance.FindItems(Folder, _
    BooleanOperator, Conditions)
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/FindItems", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public CatalogItem[] FindItems(
    string Folder,
    BooleanOperatorEnum BooleanOperator,
    SearchCondition[] Conditions
)
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction = SoapHeaderDirection::Out)]
[SoapDocumentMethodAttribute(L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/FindItems", RequestNamespace = L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    ResponseNamespace = L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    Use = SoapBindingUse::Literal, ParameterStyle = SoapParameterStyle::Wrapped)]
public:
array<CatalogItem^>^ FindItems(
    String^ Folder, 
    BooleanOperatorEnum BooleanOperator, 
    array<SearchCondition^>^ Conditions
)
[<SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)>]
[<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/FindItems", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)>]
member FindItems : 
        Folder:string * 
        BooleanOperator:BooleanOperatorEnum * 
        Conditions:SearchCondition[] -> CatalogItem[] 
public function FindItems(
    Folder : String, 
    BooleanOperator : BooleanOperatorEnum, 
    Conditions : SearchCondition[]
) : CatalogItem[]

パラメーター

  • Folder
    型: System. . :: . .String
    検索するフォルダーの完全修飾 URL です。レポート サーバー データベース全体を検索するには、ルート フォルダー (/) を指定します。

戻り値

型: array<ReportService2005. . :: . .CatalogItem> [] () [] []
指定した検索条件に対応する、レポート サーバー データベース内の CatalogItem オブジェクトの配列です。

説明

次の表に、この操作に関連するヘッダーおよび権限の情報を示します。

SOAP ヘッダー

(Out) ServerInfoHeaderValue

必要な権限

コンポーネント検索ではない場合: ReadProperties

ReadProperties 権限のあるアイテムだけが返されます。

Folder パラメーターの長さは、260 文字以下でなければなりません。これを超えると、エラー コード rsItemLengthExceeded の SOAP 例外がスローされます。

Folder パラメーターを NULL または空の文字列にすることはできません。また、予約文字 : ?; @ & = + $ , \ * > < | ." を含めることもできません。スラッシュ (/) は、フォルダーの完全なパス名内の各項目を区切るために使用することはできますが、フォルダー名の末尾には使用できません。

検索条件の途中にはワイルドカード文字を使用することはできません。ワイルドカード文字には、%、_、[、]、^、および - が含まれます。ワイルドカード文字があっても、レポート サーバーはそれをワイルドカード文字としてではなくそのままの文字として扱います。

一連の検索条件の中で、同じプロパティ名は一度しか使用できません。

FindItems の検索機能では、大文字と小文字が区別されません。

一般に、FindItems を使用するアプリケーションでは、特定のプロパティやプロパティ値を指定できます。検索可能なプロパティは、NameDescriptionCreatedByCreationDateModifiedBy、および ModifiedDate です。返されるのは、ユーザーがプロパティの読み取り権限を持っているアイテムだけです。

使用例

このコード例をコンパイルするには、Reporting Services の WSDL を参照し、特定の名前空間をインポートする必要があります。詳細については、「Compiling and Running Code Examples」を参照してください。次のコード例では、レポート サーバー データベースで、名前に「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() ); 
      }
   }
}