ReportingService2005.CreateBatch メソッド
単一のトランザクションで複数のメソッドを実行するバッチを作成します。
名前空間: ReportService2005
アセンブリ: ReportService2005 (ReportService2005.dll)
構文
'宣言
Public Function CreateBatch As String
'使用
Dim instance As ReportingService2005
Dim returnValue As String
returnValue = instance.CreateBatch()
public string CreateBatch()
public:
String^ CreateBatch()
member CreateBatch : unit -> string
public function CreateBatch() : String
戻り値
型: System.String
バッチ操作を一意に識別する String です。
説明
次の表に、この操作に関連するヘッダーおよび権限の情報を示します。
SOAP ヘッダー |
(Out) ServerInfoHeaderValue |
必要な権限 |
ユーザーはデータベース管理者であるか、または自動実行アカウントとして構成されている必要があります。 詳細については、「実行アカウント」を参照してください。 |
CreateBatch メソッドによって返される ID は、後続の Web サービス メソッド呼び出しをグループ化してバッチにまとめるために使用されます。 バッチに含まれる各メソッドでは、SOAP ヘッダーでバッチ ID を指定する必要があります。 Microsoft .NET Framework を使用してメソッド呼び出しをバッチにまとめるには、まずレポート サーバー Web サービス プロキシ クラスの BatchHeaderValue プロパティを、BatchHeader オブジェクトのプロパティと同じ値に設定する必要があります。このプロパティには、以前作成されたバッチ ID が格納されています。
使用例
このコード例をコンパイルするには、Reporting Services の WSDL を参照し、特定の名前空間をインポートする必要があります。 詳細については、「Compiling and Running Code Examples」を参照してください。 次のコード例では、Web サービス メソッド呼び出しの 2 つの新しいバッチのバッチ 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;
}
}
}