Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Verwendung von SOAP-Headern in Reporting Services ermöglicht es Ihnen, mehrere Webdienstmethoden in einen einzelnen Vorgang einzuschließen. Methoden werden innerhalb des Bereichs einer einzelnen Datenbanktransaktion in der Reihenfolge ausgeführt, in der sie aufgerufen werden.
Rollback ist ein Vorteil der Verwendung von Batchvorgängen mit mehreren Methoden. Wenn bei einem der Methodenaufrufe während der Ausführung eines Batches ein Fehler auftritt, beendet der Berichtsserver die Ausführung des Batches und setzt alle vorherigen Vorgänge zurück. Dies ist nützlich, wenn ein Methodenaufruf vom erfolgreichen Abschluss anderer Methodenaufrufe in diesem Batch abhängt.
Der Webdienst stellt keine Sperrsemantik für Batchvorgänge mit mehreren Methoden bereit. Zeilen in der Berichtsserverdatenbank werden erst gesperrt, wenn die Nachricht an den Server gesendet wird und der Befehl "Ausführen" aufgerufen wird.
Es gibt auch keine Parallelitätssteuerelemente, um sicherzustellen, dass sich die Datenbank seit dem letzten Lesen der Daten nicht geändert hat. Wenn zwei Clients dasselbe Element ändern, ist die letzte Aktualisierung erfolgreich, wenn die Parameter noch gültig sind (z. B. wurde das Element nicht umbenannt).
Im folgenden Beispiel wird die CreateFolder Methode dreimal aufgerufen und diese Aufrufe als einzelner Batch ausgeführt. Wenn eines der Aufrufe CreateFolder fehlschlägt, wird der gesamte Batch abgebrochen.
Imports System
Imports System.Web.Services.Protocols
Imports myNamespace.MyReferenceName
Class Sample
Sub Main(args() As String)
Dim rs As New ReportingService2005()
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
' Set the base Web service URL of the source server
rs.Url = "http://<Server Name>/reportserver/ReportService2005.asmx"
Dim bh As New BatchHeader()
bh.BatchId = service.CreateBatch()
rs.BatchHeaderValue = bh
rs.CreateFolder("New Folder1", "/", Nothing)
rs.CreateFolder("New Folder2", "/", Nothing)
rs.CreateFolder("New Folder3", "/", Nothing)
Console.WriteLine("Creating folders...")
rs.BatchHeaderValue = bh
rs.ExecuteBatch()
Console.WriteLine("Folders created successfully.")
rs.BatchHeaderValue = Nothing
End Sub
End Class
using System;
using System.Web.Services.Protocols;
using myNamespace.MyReferenceName;
class Sample
{
static void Main(string[] args)
{
ReportingService2005 rs = new ReportingService2005();
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
// Set the base Web service URL of the source server
rs.Url = "http://<Server Name>/reportserver/ReportService2005.asmx"
BatchHeader bh = new BatchHeader();
bh1.BatchID = service.CreateBatch();
rs.BatchHeaderValue = bh;
rs.CreateFolder("New Folder1", "/", null);
rs.CreateFolder("New Folder2", "/", null);
rs.CreateFolder("New Folder3", "/", null);
Console.WriteLine("Creating folders...");
rs.BatchHeaderValue = bh1;
rs.ExecuteBatch();
Console.WriteLine("Folders created successfully.");
rs.BatchHeaderValue = null;
}
}
Siehe auch
CancelBatch
CreateBatch
Technische Referenz (SSRS)
Verwenden von SOAP-Headern für Reporting Services