ReportingService2005.FindItems メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
検索条件に一致する項目をレポートサーバーデータベースから返します。
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 |
| 必要なアクセス許可 | コンポーネント検索でなければ: ReadPropertiesReadProperties許可を得た物品のみが返却されます。 |
Folderパラメータの長さは260文字を超えてはなりません。そうでなければ、エラーコードrsItemLengthExceedでSOAP例外が発生します。
Folderパラメータはnullや空であってはならず、以下の保留文字を含むことはできません:: ? ; @ & = + $ , \ * > < | . "。 フォルダーのフルパス名の項目を区切るためにスラッシュ文字(/)を使うことはできますが、フォルダ名の最後に使うことはできません。
レポートサーバーは検索条件の途中でワイルドカード文字をサポートしていません。 ワイルドカード文字には %、_、[、]、^、そして-が含まれます。 ワイルドカードキャラクターが存在する場合、レポートサーバーはそのキャラクターを文字通り扱います。
検索条件の集合で、物件名のインスタンスは1つしか提供できません。
FindItemsの検索機能は大文字を区別しません。
FindItemsを利用するアプリケーションは通常、特定のプロパティやプロパティ値についてユーザーの入力を受け付けます。 検索可能なプロパティは、 Name、 Description、 CreatedBy、 CreationDate、 ModifiedBy、 ModifiedDateです。 返却される項目は、ユーザーの許可が Read Properties にあるもののみです。