Udostępnij za pośrednictwem


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.
  • 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.

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

(W)BatchHeaderValue

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