ReportingService2005.FindItems メソッド
レポート サーバー データベースから、検索条件に一致するアイテムを返します。
名前空間: ReportService2005
アセンブリ: ReportService2005 (ReportService2005.dll)
構文
'宣言
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)
public CatalogItem[] FindItems(
string Folder,
BooleanOperatorEnum BooleanOperator,
SearchCondition[] Conditions
)
public:
array<CatalogItem^>^ FindItems(
String^ Folder,
BooleanOperatorEnum BooleanOperator,
array<SearchCondition^>^ Conditions
)
member FindItems :
Folder:string *
BooleanOperator:BooleanOperatorEnum *
Conditions:SearchCondition[] -> CatalogItem[]
public function FindItems(
Folder : String,
BooleanOperator : BooleanOperatorEnum,
Conditions : SearchCondition[]
) : CatalogItem[]
パラメーター
- Folder
型: System.String
検索するフォルダーの完全修飾 URL です。 レポート サーバー データベース全体を検索するには、ルート フォルダー (/) を指定します。
- BooleanOperator
型: ReportService2005.BooleanOperatorEnum
検索条件を結合するために適用する論理演算子です。 設定可能な値は AND および OR です。 既定値は AND です。
- Conditions
型: array<ReportService2005.SearchCondition[]
検索するプロパティの名前と値を定義する SearchCondition オブジェクトの配列です。
戻り値
型: array<ReportService2005.CatalogItem[]
指定した検索条件に対応する、レポート サーバー データベース内の CatalogItem オブジェクトの配列です。
説明
次の表に、この操作に関連するヘッダーおよび権限の情報を示します。
SOAP ヘッダー |
(Out) ServerInfoHeaderValue |
必要な権限 |
コンポーネント検索ではない場合: ReadProperties ReadProperties 権限のあるアイテムだけが返されます。 |
Folder パラメーターの長さは、260 文字以下でなければなりません。これを超えると、エラー コード rsItemLengthExceeded の SOAP 例外がスローされます。
Folder パラメーターを NULL または空の文字列にすることはできません。また、予約文字 : ?; @ & = + $ , \ * > < | ." を含めることもできません。 スラッシュ (/) は、フォルダーの完全なパス名内の各項目を区切るために使用することはできますが、フォルダー名の末尾には使用できません。
検索条件の途中にはワイルドカード文字を使用することはできません。 ワイルドカード文字には、%、_、[、]、^、および - が含まれます。 ワイルドカード文字があっても、レポート サーバーはそれをワイルドカード文字としてではなくそのままの文字として扱います。
一連の検索条件の中で、同じプロパティ名は一度しか使用できません。
FindItems の検索機能では、大文字と小文字が区別されません。
一般に、FindItems を使用するアプリケーションでは、特定のプロパティやプロパティ値を指定できます。 検索可能なプロパティは、Name、Description、CreatedBy、CreationDate、ModifiedBy、および 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() );
}
}
}