CreateBatch 方法
建立在單一交易中執行多個方法的批次。
命名空間: ReportService2005
組件: ReportService2005 (在 ReportService2005.dll 中)
語法
'宣告
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateBatch", RequestNamespace := "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", _
ResponseNamespace := "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", _
Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction := SoapHeaderDirection.Out)> _
Public Function CreateBatch As String
'用途
Dim instance As ReportingService2005
Dim returnValue As String
returnValue = instance.CreateBatch()
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateBatch", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
public string CreateBatch()
[SoapDocumentMethodAttribute(L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateBatch", RequestNamespace = L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
ResponseNamespace = L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
Use = SoapBindingUse::Literal, ParameterStyle = SoapParameterStyle::Wrapped)]
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction = SoapHeaderDirection::Out)]
public:
String^ CreateBatch()
[<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateBatch", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)>]
[<SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)>]
member CreateBatch : unit -> string
public function CreateBatch() : String
傳回值
型別:System. . :: . .String
唯一識別批次作業的 String。
備註
The table below shows header and permissions information on this operation.
SOAP Headers |
(Out) ServerInfoHeaderValue |
Required Permissions |
The user must be a database administrator or the one configured as the unattended execution account. For more information, see 執行帳戶 (Reporting Services 組態). |
The ID returned by the CreateBatch method is used to group or batch subsequent Web service method calls. Each method included in the batch must have the batch ID specified in the SOAP header. To batch the method calls using the Microsoft .NET Framework, you must first set the BatchHeaderValue property of the Report Server Web service proxy class to a value that is equal to that of a BatchHeader object that contains a previously created batch ID.
範例
To compile this code example, you must reference the Reporting Services WSDL and import certain namespaces. For more information, see Compiling and Running Code Examples. The following code example creates batch IDs for two new batches of Web service method calls and executes the batches:
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;
}
}
}