次の方法で共有


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;
      }
   }
}

関連項目

参照

ReportingService2005 クラス

ReportService2005 名前空間

CancelBatch

ExecuteBatch

その他の技術情報

メソッドのバッチ処理