Metoda ReportingService2005.CreateSubscription
Tworzy subskrypcja dla raportu określonego w baza danych serwera raportów.
Przestrzeń nazw: ReportService2005
Zestaw: ReportService2005 (w ReportService2005.dll)
Składnia
'Deklaracja
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction := SoapHeaderDirection.Out)> _
<SoapHeaderAttribute("BatchHeaderValue")> _
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateSubscription", 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)> _
Public Function CreateSubscription ( _
Report As String, _
ExtensionSettings As ExtensionSettings, _
Description As String, _
EventType As String, _
MatchData As String, _
Parameters As ParameterValue() _
) As String
'Użycie
Dim instance As ReportingService2005
Dim Report As String
Dim ExtensionSettings As ExtensionSettings
Dim Description As String
Dim EventType As String
Dim MatchData As String
Dim Parameters As ParameterValue()
Dim returnValue As String
returnValue = instance.CreateSubscription(Report, _
ExtensionSettings, Description, _
EventType, MatchData, Parameters)
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
[SoapHeaderAttribute("BatchHeaderValue")]
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateSubscription", 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)]
public string CreateSubscription(
string Report,
ExtensionSettings ExtensionSettings,
string Description,
string EventType,
string MatchData,
ParameterValue[] Parameters
)
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction = SoapHeaderDirection::Out)]
[SoapHeaderAttribute(L"BatchHeaderValue")]
[SoapDocumentMethodAttribute(L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateSubscription", 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)]
public:
String^ CreateSubscription(
String^ Report,
ExtensionSettings^ ExtensionSettings,
String^ Description,
String^ EventType,
String^ MatchData,
array<ParameterValue^>^ Parameters
)
[<SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)>]
[<SoapHeaderAttribute("BatchHeaderValue")>]
[<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateSubscription", 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)>]
member CreateSubscription :
Report:string *
ExtensionSettings:ExtensionSettings *
Description:string *
EventType:string *
MatchData:string *
Parameters:ParameterValue[] -> string
public function CreateSubscription(
Report : String,
ExtensionSettings : ExtensionSettings,
Description : String,
EventType : String,
MatchData : String,
Parameters : ParameterValue[]
) : String
Parametry
- Report
Typ: System.String
Pełną nazwę ścieżki raportu, który chcesz utworzyć subskrypcja.
- ExtensionSettings
Typ: ReportService2005.ExtensionSettings
ExtensionSettings Obiekt, który zawiera listę ustawień, które są specyficzne dla rozszerzenie dostarczania.
- Description
Typ: System.String
Zrozumiały opis jest wyświetlany użytkownikom.
- EventType
Typ: System.String
Typ zdarzenie wyzwalającego subskrypcja.Prawidłowe wartości to TimedSubscription lub SnapshotUpdated.
- MatchData
Typ: System.String
Dane skojarzone z określonym EventType parametru.Ten parametr jest używany przez zdarzenie do dopasowywania subskrypcja ze zdarzeniem jest uruchamiany.
- Parameters
Typ: array<ReportService2005.ParameterValue[]
Tablica ParameterValue obiektów, które zawiera listę parametrów raportu.
Wartość zwracana
Typ: System.String
Identyfikator subskrypcja, który jednoznacznie identyfikuje subskrypcja w baza danych serwera raportów.
Uwagi
W poniższej tabela przedstawiono informacje nagłówka i uprawnienia na tej operacji.
Nagłówki SOAP |
(Ruch wychodzący)ServerInfoHeaderValue |
Wymagane uprawnienia |
ExecuteAndViewAND (CreateAnySubscription OR CreateSubscription) |
Można użyć GetExtensionSettings Metoda pobierania listy wymagane ustawienia dla rozszerzenie dostarczania.Muszą przejść wartości tych ustawień wymaganych w ExtensionSettings parametru.Aby uzyskać informacje dotyczące ustawień dostarczania poczty e-mail, zobacz Ustawienia rozszerzenia dostarczania usług raportowania.
Wartość EventType parametru musi odpowiadać zdarzenie, który skonfigurowano dla serwer raportów.Są dwa zdarzenia, które są używane do tworzenia subskrypcji TimedSubscription i SnapshotUpdated.Użyj ListEvents metoda, aby powrócić do listy wszystkich zdarzeń skonfigurowany dla serwer raportów.
Wartość MatchData zależy od parametru typu zdarzenie.Jeśli zdarzenie jest TimedSubscription zdarzenie, ScheduleDefinition obiektu wymagany jest jako MatchData parametru.Musisz najpierw serializować ScheduleDefinition jako XML w celu przekazania go jako wartość ciąg i utworzyć obiekt subskrypcja zależności harmonogramu.Struktura XML może wyglądać tak jak w następującym przykładzie:
<ScheduleDefinition>
<WeeklyRecurrence>
<StartDateTime>2004-06-24T09:00:00-08:00</StartDateTime>
<WeeksInterval>1</WeeksInterval>
<DaysOfWeek>
<Monday>True</Monday>
</DaysOfWeek>
</WeeklyRecurrence>
</ScheduleDefinition>
Wartość StartDateTime elementu, gdy dane są przekazywane jako ciąg znaków XML powinien odpowiadać format data ISO 8601.Międzynarodowe data i czas standardowy jest rozszerzony format SSRR-MM-DDThh:mm:ss +/-Z którym "DW" reprezentuje stulecia "Rr" rok "MM" miesiąc i "dd" dzień.Litera "T" Data i czas separator i "gg", "mm", "ss" reprezentują godziny, minuty i sekundy odpowiednio.Reprezentacja ta może być natychmiast następuje "Z" Aby wskazać skoordynowanego czasu uniwersalnego (UTC).Aby wskazać strefę czasową, reprezentowany jako różnicę między czas lokalnym a Coordinated Universal czas "Z" jest poprzedzony przez "+" lub "-" znak, różnica z UTC reprezentowane jako hh: mm.
Jeśli definicja harmonogramu TimedSubscription jest udostępniony harmonogram, musi przekazać identyfikator harmonogramu udostępnionego harmonogramu jako MatchData parametru.Harmonogram jest przekazywany identyfikator, jako ciąg, na przykład "4608ac1b-fc75-4149-9e15-5a8b5781b843".Harmonogram można uzyskać Identyfikatora, wywołując ListSchedules metoda.
Można użyć XmlSerializer klasy automatycznie przekonwertować klasy object na ciąg znaków XML.Więcej informacji o XmlSerializer klasy, zobacz "Klasa System.Xml.XmlSerializer" w programie Microsoft.NET Framework dokumentacji.
Jeśli zdarzenie jest SnapshotUpdated subskrypcja, wartość MatchData powinien być nullodwołanie o wartości null (Nothing w języku Visual Basic) (lub nic nie w języku Visual Basic).
Przy użyciu tej metoda ustawia LastExecuted właściwość subskrypcja do Brak, Status właściwość subskrypcja do nową subskrypcjęoraz Active właściwość subskrypcja do true.ModifiedBy i ModifiedDate Właściwości raportu zostaną również zaktualizowane.
Przykłady
Aby skompilować ten przykład kodu, należy odwołać WSDL usług Reporting i przywozu niektórych obszarów nazw.Aby uzyskać więcej informacji, zobacz temat Compiling and Running Code Examples.Następujący kod w przykładzie wykorzystano CreateSubscription Aby dodać nowy subskrypcja w bazie danych raportu:
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 report As String = "/SampleReports/Employee Sales Summary"
Dim desc As String = "Send email to anyone@microsoft.com"
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(7) As ParameterValue
extensionParams(0) = New ParameterValue()
extensionParams(0).Name = "TO"
extensionParams(0).Value = "dank@adventure-works.com"
extensionParams(1) = New ParameterValue()
extensionParams(1).Name = "ReplyTo"
extensionParams(1).Value = "reporting@adventure-works.com"
extensionParams(2) = New ParameterValue()
extensionParams(2).Name = "IncludeReport"
extensionParams(2).Value = "True"
extensionParams(3) = New ParameterValue()
extensionParams(3).Name = "RenderFormat"
extensionParams(3).Value = "MHTML"
extensionParams(4) = New ParameterValue()
extensionParams(4).Name = "Subject"
extensionParams(4).Value = "@ReportName was executed at @ExecutionTime"
extensionParams(5) = New ParameterValue()
extensionParams(5).Name = "Comment"
extensionParams(5).Value = "Here is your daily sales report for Michael."
extensionParams(6) = New ParameterValue()
extensionParams(6).Name = "IncludeLink"
extensionParams(6).Value = "True"
extensionParams(7) = New ParameterValue()
extensionParams(7).Name = "Priority"
extensionParams(7).Value = "NORMAL"
Dim parameter As New ParameterValue()
parameter.Name = "EmpID"
parameter.Value = "38"
Dim parameters(1) As ParameterValue
parameters(0) = parameter
Dim matchData As String = scheduleXml
Dim extSettings As New ExtensionSettings()
extSettings.ParameterValues = extensionParams
extSettings.Extension = "Report Server Email"
Try
rs.CreateSubscription(report, extSettings, desc, eventType, matchData, parameters)
Catch e As SoapException
Console.WriteLine(e.Detail.InnerXml.ToString())
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;
string report = "/SampleReports/Employee Sales Summary";
string desc = "Send email to anyone@microsoft.com";
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[8];
extensionParams[0] = new ParameterValue();
extensionParams[0].Name = "TO";
extensionParams[0].Value = "dank@adventure-works.com";
extensionParams[1] = new ParameterValue();
extensionParams[1].Name = "ReplyTo";
extensionParams[1].Value = "reporting@adventure-works.com";
extensionParams[2] = new ParameterValue();
extensionParams[2].Name = "IncludeReport";
extensionParams[2].Value = "True";
extensionParams[3] = new ParameterValue();
extensionParams[3].Name = "RenderFormat";
extensionParams[3].Value = "MHTML";
extensionParams[4] = new ParameterValue();
extensionParams[4].Name = "Subject";
extensionParams[4].Value = "@ReportName was executed at @ExecutionTime";
extensionParams[5] = new ParameterValue();
extensionParams[5].Name = "Comment";
extensionParams[5].Value = "Here is your daily sales report for Michael.";
extensionParams[6] = new ParameterValue();
extensionParams[6].Name = "IncludeLink";
extensionParams[6].Value = "True";
extensionParams[7] = new ParameterValue();
extensionParams[7].Name = "Priority";
extensionParams[7].Value = "NORMAL";
ParameterValue parameter = new ParameterValue();
parameter.Name = "EmpID";
parameter.Value = "38";
ParameterValue[] parameters = new ParameterValue[1];
parameters[0] = parameter;
string matchData = scheduleXml;
ExtensionSettings extSettings = new ExtensionSettings();
extSettings.ParameterValues = extensionParams;
extSettings.Extension = "Report Server Email";
try
{
rs.CreateSubscription(report, extSettings, desc, eventType, matchData, parameters);
}
catch (SoapException e)
{
Console.WriteLine(e.Detail.InnerXml.ToString());
}
}
}