ReportingService2005.CreateBatch メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
1つのトランザクション内で複数のメソッドを実行するバッチを作成します。
public:
System::String ^ CreateBatch();
public string CreateBatch();
member this.CreateBatch : unit -> string
Public Function CreateBatch () As String
返品
バッチ操作を一意に識別する String 。
例
このコード例をコンパイルするには、Reporting Services WSDLを参照し、特定の名前空間をインポートする必要があります。 詳細については 、「コード例のコンパイルと実行」をご覧ください。 以下のコード例は、2つの新しいWebサービスメソッド呼び出しバッチのバッチIDを作成し、それらのバッチを実行します。
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 bh1 As New BatchHeader()
Dim bh2 As New BatchHeader()
bh1.BatchID = rs.CreateBatch()
rs.BatchHeaderValue = bh1
rs.CreateFolder("New Folder1", "/", Nothing)
rs.CreateFolder("New Folder2", "/", Nothing)
rs.CreateFolder("New Folder3", "/", Nothing)
bh2.BatchID = rs.CreateBatch()
rs.BatchHeaderValue = bh2
rs.DeleteItem("/New Folder1")
rs.DeleteItem("/New Folder2")
rs.DeleteItem("/New Folder3")
rs.BatchHeaderValue = bh1
' Create folders using a batch header 1.
Try
rs.ExecuteBatch()
Console.WriteLine("Folders created successfully.")
Catch e As SoapException
Console.WriteLine(e.Detail.InnerXml.ToString())
End Try
rs.BatchHeaderValue = bh2
' Delete folders using batch header 2.
Try
rs.ExecuteBatch()
Console.WriteLine("Folders deleted successfully.")
Catch e As SoapException
Console.WriteLine(e.Detail.InnerXml.ToString())
Finally
rs.BatchHeaderValue = Nothing
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;
BatchHeader bh1 = new BatchHeader();
BatchHeader bh2 = new BatchHeader();
bh1.BatchID = rs.CreateBatch();
rs.BatchHeaderValue = bh1;
rs.CreateFolder("New Folder1", "/", null);
rs.CreateFolder("New Folder2", "/", null);
rs.CreateFolder("New Folder3", "/", null);
bh2.BatchID = rs.CreateBatch();
rs.BatchHeaderValue = bh2;
rs.DeleteItem("/New Folder1");
rs.DeleteItem("/New Folder2");
rs.DeleteItem("/New Folder3");
rs.BatchHeaderValue = bh1;
// Create folders using a batch header 1.
try
{
rs.ExecuteBatch();
Console.WriteLine("Folders created successfully.");
}
catch (SoapException e)
{
Console.WriteLine(e.Detail.InnerXml.ToString());
}
rs.BatchHeaderValue = bh2;
// Delete folders using batch header 2.
try
{
rs.ExecuteBatch();
Console.WriteLine("Folders deleted successfully.");
}
catch (SoapException e)
{
Console.WriteLine(e.Detail.InnerXml.ToString());
}
finally
{
rs.BatchHeaderValue = null;
}
}
}
注釈
以下の表は、この操作のヘッダーおよび権限情報を示しています。
| SOAPヘッダー | (アウト) ServerInfoHeaderValue |
| 必要なアクセス許可 | ユーザーはデータベース管理者であるか、無人実行アカウントとして設定されている管理者でなければなりません。 詳細は 実行アカウント(SSRSネイティブモード)をご覧ください。 |
CreateBatchメソッドが返すIDは、その後のWebサービスメソッド呼び出しをグループ化またはバッチ化するために使われます。 バッチに含まれる各メソッドは、SOAPヘッダーでバッチIDが指定されている必要があります。 Microsoft .NETフレームワークを使ってメソッド呼び出しをバッチ処理するには、まずReport Server WebサービスプロキシクラスのBatchHeaderValueプロパティを、以前に作成されたバッチIDを含むBatchHeaderオブジェクトの値と等しい値に設定する必要があります。