ReportingService2006.CreateSubscription Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt in der Berichtsserver-Datenbank ein Abonnement für den angegebenen Bericht.
public:
System::String ^ CreateSubscription(System::String ^ Report, ReportService2006::ExtensionSettings ^ ExtensionSettings, System::String ^ Description, System::String ^ EventType, System::String ^ MatchData, cli::array <ReportService2006::ParameterValue ^> ^ Parameters);
public string CreateSubscription (string Report, ReportService2006.ExtensionSettings ExtensionSettings, string Description, string EventType, string MatchData, ReportService2006.ParameterValue[] Parameters);
member this.CreateSubscription : string * ReportService2006.ExtensionSettings * string * string * string * ReportService2006.ParameterValue[] -> string
Public Function CreateSubscription (Report As String, ExtensionSettings As ExtensionSettings, Description As String, EventType As String, MatchData As String, Parameters As ParameterValue()) As String
Parameter
- Report
- String
Die vollqualifizierte URL des Berichts einschließlich des Dateinamens und der Dateinamenerweiterung (.rdl).
- ExtensionSettings
- ExtensionSettings
Ein ExtensionSettings-Objekt mit einer Liste von Einstellungen, die für die Übermittlungserweiterung spezifisch sind.
- Description
- String
Eine aussagekräftige Beschreibung, die Benutzern angezeigt wird.
- EventType
- String
Der Typ des Ereignisses, das das Abonnement auslöst. Die gültigen Werte sind TimedSubscription
oder SnapshotUpdated
.
- MatchData
- String
Die Daten, die dem angegebenen EventType
Parameter zugeordnet sind. Dieser Parameter wird von einem Ereignis verwendet, um das Abonnement mit einem ausgelösten Ereignis zu vergleichen.
- Parameters
- ParameterValue[]
Ein Array von ParameterValue-Objekten, das eine Liste der Parameter für den Bericht enthält.
Gibt zurück
Eine Abonnement-ID, die das Abonnement eindeutig in der SharePoint-Bibliothek identifiziert.
Beispiele
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
class Sample
{
static void Main(string[] args)
{
ReportingService2006 rs = new ReportingService2006();
rs.Url = "http://<Server Name>" +
"/_vti_bin/ReportServer/ReportService2006.asmx";
rs.Credentials =
System.Net.CredentialCache.DefaultCredentials;
string report = "http://<Server Name>" +
"/Docs/Documents/AdventureWorks Sample Reports" +
"/Sales Order Detail.rdl";
string desc = "Send to Document Library";
string eventType = "TimedSubscription";
string scheduleXml =
@"<ScheduleDefinition>" +
" <StartDateTime>2003-02-24T09:00:00-08:00" +
" </StartDateTime>" +
" <WeeklyRecurrence>" +
" <WeeksInterval>1</WeeksInterval>" +
" <DaysOfWeek>" +
" <Monday>True</Monday>" +
" </DaysOfWeek>" +
" </WeeklyRecurrence>" +
"</ScheduleDefinition>";
ParameterValue[] extensionParams = new ParameterValue[6];
extensionParams[0] = new ParameterValue();
extensionParams[0].Name = "RENDER_FORMAT";
extensionParams[0].Value = "EXCEL";
extensionParams[1] = new ParameterValue();
extensionParams[1].Name = "FILENAME";
extensionParams[1].Value = "Sales Order Detail";
extensionParams[2] = new ParameterValue();
extensionParams[2].Name = "FILEEXTN";
extensionParams[2].Value = "True";
extensionParams[3] = new ParameterValue();
extensionParams[3].Name = "PATH";
extensionParams[3].Value = "http://<Server Name>" +
"/Docs/Documents/AdventureWorks Sample Reports/";
extensionParams[4] = new ParameterValue();
extensionParams[4].Name = "WRITEMODE";
extensionParams[4].Value = "Overwrite";
extensionParams[5] = new ParameterValue();
extensionParams[5].Name = "AUTOCOPY";
extensionParams[5].Value = "False";
string matchData = scheduleXml;
ExtensionSettings extSettings = new ExtensionSettings();
extSettings.ParameterValues = extensionParams;
extSettings.Extension = "Report Server DocumentLibrary";
try
{
rs.CreateSubscription(report, extSettings, desc,
eventType, matchData, null);
}
catch (SoapException e)
{
Console.WriteLine(e.Detail.InnerXml.ToString());
}
}
}
Imports System
Imports System.IO
Imports System.Text
Imports System.Web.Services
Imports System.Web.Services.Protocols
Class Sample
Public Shared Sub Main()
Dim rs As New ReportingService2006()
rs.Url = "http://<Server Name>" + _
"/_vti_bin/ReportServer/ReportService2006.asmx"
rs.Credentials = _
System.Net.CredentialCache.DefaultCredentials
Dim report As String = "http://<Server Name>/Docs/" + _
"Documents/AdventureWorks Sample Reports/" + _
"Sales Order Detail.rdl"
Dim desc As String = "Send to Document Library"
Dim eventType As String = "TimedSubscription"
Dim scheduleXml As String = _
"<ScheduleDefinition>" + _
" <StartDateTime>2003-02-24T09:00:00-08:00</StartDateTime>" + _
" <WeeklyRecurrence>" + _
" <WeeksInterval>1</WeeksInterval>" + _
" <DaysOfWeek>" + _
" <Monday>True</Monday>" + _
" </DaysOfWeek>" + _
" </WeeklyRecurrence>" + _
"</ScheduleDefinition>"
Dim extensionParams(6) As ParameterValue
extensionParams(0) = New ParameterValue()
extensionParams(0).Name = "RENDER_FORMAT"
extensionParams(0).Value = "EXCEL"
extensionParams(1) = New ParameterValue()
extensionParams(1).Name = "FILENAME"
extensionParams(1).Value = "Sales Order Detail"
extensionParams(2) = New ParameterValue()
extensionParams(2).Name = "FILEEXTN"
extensionParams(2).Value = "True"
extensionParams(3) = New ParameterValue()
extensionParams(3).Name = "PATH"
extensionParams(3).Value = "http://<Server Name>" + _
"/Docs/Documents/AdventureWorks Sample Reports/"
extensionParams(4) = New ParameterValue()
extensionParams(4).Name = "WRITEMODE"
extensionParams(4).Value = "Overwrite"
extensionParams(5) = New ParameterValue()
extensionParams(5).Name = "AUTOCOPY"
extensionParams(5).Value = "False"
Dim matchData As String = scheduleXml
Dim extSettings As New ExtensionSettings()
extSettings.ParameterValues = extensionParams
extSettings.Extension = "Report Server DocumentLibrary"
Try
rs.CreateSubscription(report, extSettings, desc, _
eventType, matchData, Nothing)
Catch e As SoapException
Console.WriteLine(e.Detail.InnerXml.ToString())
End Try
End Sub
End Class
Hinweise
In der folgenden Tabelle werden Header- und Berechtigungsinformationen zu diesem Vorgang dargestellt.
SOAP-Header | (In) TrustedUserHeaderValue (Out) ServerInfoHeaderValue |
Erforderliche Berechtigungen | <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> UND (<xref:Microsoft.SharePoint.SPBasePermissions.ManageAlerts> ODER <xref:Microsoft.SharePoint.SPBasePermissions.CreateAlerts>) |
Sie können die GetExtensionSettings -Methode verwenden, um eine Liste der erforderlichen Einstellungen für eine Übermittlungserweiterung abzurufen. Sie müssen Werte für diese erforderlichen Einstellungen im ExtensionSettings
Parameter übergeben. Informationen zu E-Mail-Übermittlungseinstellungen finden Sie unter Reporting Services Übermittlungserweiterungseinstellungen.
Der Wert des EventType
Parameters muss einem Ereignis entsprechen, das für den Berichtsserver konfiguriert ist. Die beiden Ereignisse, die zum Erstellen von Abonnements verwendet werden, sind TimedSubscription
und SnapshotUpdated
. Verwenden Sie die ListEvents -Methode, um eine Liste aller ereignisse zurückzugeben, die für den Berichtsserver konfiguriert sind.
Der Wert des MatchData
Parameters hängt vom Ereignistyp ab. Wenn es sich bei dem Ereignis um ein TimedSubscription
-Ereignis handelt, ist ein ScheduleDefinition -Objekt als MatchData
Parameter erforderlich. Sie müssen das ScheduleDefinition Objekt zuerst als XML serialisieren, um es als Zeichenfolgenwert zu übergeben, und ein Abonnement basierend auf dem Zeitplan erstellen. Die XML-Struktur ähnelt möglicherweise der struktur im folgenden Beispiel:
<ScheduleDefinition>
<WeeklyRecurrence>
<StartDateTime>2004-06-24T09:00:00-08:00</StartDateTime>
<WeeksInterval>1</WeeksInterval>
<DaysOfWeek>
<Monday>True</Monday>
</DaysOfWeek>
</WeeklyRecurrence>
</ScheduleDefinition>
Der Wert des StartDateTime Elements, wenn es als XML-Zeichenfolge übergeben wird, sollte dem Datumsformat ISO 8601 entsprechen. Dieser internationale Datums- und Uhrzeitstandard ist das erweiterte Format CCJJ-MM-TTThh:mm:ss+/-Z, wobei "CC" das Jahrhundert, "JJ" das Jahr, "MM" den Monat und "TT" den Tag darstellt. Der Buchstabe "T" ist das Datums- und Uhrzeittrennzeichen, und "hh", "mm", "ss" stellen Stunde, Minute und Sekunde dar. Dieser Darstellung kann sofort ein "Z" folgen, um die koordinierte Weltzeit (UTC) anzugeben. Um die Zeitzone anzugeben, die als Differenz zwischen der lokalen Zeit und der koordinierten Weltzeit dargestellt wird, wird "Z" ein "+"- oder "-"-Zeichen vorangestellt, gefolgt von der Differenz von UTC, die als hh:mm dargestellt wird.
Wenn die Zeitplandefinition für einen TimedSubscription
einen freigegebenen Zeitplan ist, müssen Sie die Zeitplan-ID des freigegebenen Zeitplans MatchData
als Parameter übergeben. Die Zeitplan-ID wird beispielsweise als String
"4608ac1b-fc75-4149-9e15-5a8b5781b843" übergeben. Die Zeitplan-ID kann durch Aufrufen der ListSchedules -Methode abgerufen werden.
Sie können die System.Xml.Serialization.XmlSerializer -Klasse verwenden, um Ihre Objektklasse automatisch in eine XML-Zeichenfolge zu konvertieren.
Wenn es sich bei dem Ereignis um ein SnapshotUpdated
Abonnement handelt, sollte der Wert von MatchData
(oder Nothing
in Visual Basic) sein null
.
Wenn diese Methode verwendet wird, legt sie die LastExecutedSpecified Eigenschaft des Abonnements auf false
, die Status Eigenschaft des Abonnements auf new subscription
und alle Eigenschaften des Abonnementobjekts Active auf false
fest. Die ModifiedBy Eigenschaften und ModifiedDate des Berichts werden ebenfalls aktualisiert.
Jeder im MatchData
-Parameter angegebene Zeitplan muss sich am selben Standort befinden und der Report
.