ReportingService2005.CreateSubscription(String, ExtensionSettings, String, String, String, ParameterValue[]) ReportingService2005.CreateSubscription(String, ExtensionSettings, String, String, String, ParameterValue[]) Method

정의

보고서 서버 데이터베이스의 지정된 보고서에 대한 구독을 만듭니다. Creates a subscription for a specified report in the report server database.

public:
 System::String ^ CreateSubscription(System::String ^ Report, ReportService2005::ExtensionSettings ^ ExtensionSettings, System::String ^ Description, System::String ^ EventType, System::String ^ MatchData, cli::array <ReportService2005::ParameterValue ^> ^ Parameters);
public string CreateSubscription (string Report, ReportService2005.ExtensionSettings ExtensionSettings, string Description, string EventType, string MatchData, ReportService2005.ParameterValue[] Parameters);
매개 변수
Report
String String

구독을 만들 보고서의 전체 경로 이름입니다. The full path name of the report for which to create a subscription.

ExtensionSettings
ExtensionSettings ExtensionSettings

ExtensionSettings 배달 확장 프로그램에 고유한 설정 목록을 포함 하는 개체입니다. An ExtensionSettings object that contains a list of settings that are specific to the delivery extension.

Description
String String

사용자에게 표시되는 의미 있는 설명입니다. A meaningful description that is displayed to users.

EventType
String String

구독을 트리거하는 이벤트의 유형입니다. The type of event that triggers the subscription. 유효한 값은 TimedSubscription 또는 SnapshotUpdated합니다. The valid values are TimedSubscription or SnapshotUpdated.

MatchData
String String

지정 된 연결 된 데이터 EventType 매개 변수입니다. The data that is associated with the specified EventType parameter. 이 매개 변수는 발생한 이벤트의 구독과 일치하는 이벤트에서 사용합니다. This parameter is used by an event to match the subscription with an event that has fired.

Parameters
ParameterValue[]

배열 ParameterValue 보고서에 대 한 매개 변수 목록을 포함 하는 개체입니다. An array of ParameterValue objects that contains a list of parameters for the report.

반환

보고서 서버 데이터베이스에서 구독을 고유하게 식별하는 구독 ID입니다. A subscription ID, which uniquely identifies the subscription in the report server database.

예제

이 코드 예제를 컴파일하려면 Reporting Services WSDL 참조 하 고 특정 네임 스페이스를 가져올 해야 합니다.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. 다음 코드 예제에서는 CreateSubscription 보고서 서버 데이터베이스에 새 구독을 추가 하려면:The following code example uses CreateSubscription to add a new subscription to the report server database:

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

설명

다음 표에서는 이 작업에 대한 헤더 및 사용 권한 정보를 보여 줍니다.The table below shows header and permissions information on this operation.

SOAP 헤더SOAP Headers (In) BatchHeaderValue(In) BatchHeaderValue

(Out) ServerInfoHeaderValue(Out) ServerInfoHeaderValue
필요한 권한Required Permissions ExecuteAndView 및 (CreateAnySubscription 또는 CreateSubscription)ExecuteAndView AND (CreateAnySubscription OR CreateSubscription)

사용할 수는 GetExtensionSettings 배달 확장 프로그램에 대 한 필요한 설정 목록을 검색 하는 메서드입니다.You can use the GetExtensionSettings method to retrieve a list of required settings for a delivery extension. 이러한 필수 설정에 대 한 값을 전달 해야 합니다는 ExtensionSettings 매개 변수입니다.You must pass values for these required settings in the ExtensionSettings parameter. 전자 메일 배달 설정에 대 한 정보를 참조 하십시오. Reporting Services 배달 확장 프로그램 설정합니다.For information about e-mail delivery settings, see Reporting Services Delivery Extension Settings.

값은 EventType 매개 변수는 보고서 서버에 구성 하는 이벤트와 일치 해야 합니다.The value of the EventType parameter must correspond to an event that is configured for the report server. 두 개의 이벤트 구독을 만드는 데 사용 되는 TimedSubscriptionSnapshotUpdated합니다.The two events that are used to create subscriptions are TimedSubscription and SnapshotUpdated. 사용 하 여는 ListEvents 메서드는 보고서 서버에 대해 구성 된 모든 이벤트의 목록을 반환 합니다.Use the ListEvents method to return a list of all events configured for the report server.

값은 MatchData 매개 변수는 이벤트 유형에 따라 다릅니다.The value of the MatchData parameter depends on the event type. 이벤트는 TimedSubscription 이벤트는 ScheduleDefinition 개체는로 필요는 MatchData 매개 변수입니다.If the event is a TimedSubscription event, a ScheduleDefinition object is required as the MatchData parameter. 먼저 직렬화 해야는 ScheduleDefinition 일정에 따라 구독을 만들고 문자열 값으로 전달 하기 위해 XML로 개체입니다.You must first serialize the ScheduleDefinition object as XML in order to pass it as a string value and create a subscription based on the schedule. XML 구조는 다음 예제와 같습니다.The XML structure might look like the one in the following example:

<ScheduleDefinition>  
   <WeeklyRecurrence>  
      <StartDateTime>2004-06-24T09:00:00-08:00</StartDateTime>  
      <WeeksInterval>1</WeeksInterval>  
      <DaysOfWeek>  
         <Monday>True</Monday>  
         </DaysOfWeek>  
   </WeeklyRecurrence>  
</ScheduleDefinition>  

값은 StartDateTime 요소는 XML 문자열 변수로 전달 될 때 날짜 형식은 ISO 8601에 대응 되어야 합니다.The value of the StartDateTime element when passed as an XML string should correspond to the date format ISO 8601. 국가별 날짜 및 시간 표준이 값은 확장된 형식 CCYY-m M-Z 여기서 "CC" 나타냅니다 "YY" 세기, 연도, 월 "MM" 및 "DD" + /-DDThh:mm:ss 일 합니다.This international date and time standard is the extended format CCYY-MM-DDThh:mm:ss+/-Z where "CC" represents the century, "YY" the year, "MM" the month and "DD" the day. 문자 "T"는 날짜 및 시간 구분 기호 및 "hh", "mm", "ss" 나타내는 시, 분 및 각각의 두 번째입니다.The letter "T" is the date and time separator and "hh", "mm", "ss" represent hour, minute and second respectively. 이 표현은 utc (협정 세계시)를 나타내는 "Z"가 즉시 올 수 있습니다.This representation may be immediately followed by a "Z" to indicate Coordinated Universal Time (UTC). 협정 세계시 현지 시간 사이의 차이로 표시 되는 표준 시간대를 나타내는 "Z"는 앞에 "+" 또는 "-" 기호, hh: mm으로 표현 되는 UTC에서 차이 이어서 합니다.To indicate the time zone, represented as the difference between the local time and Coordinated Universal Time, "Z" is preceded by a "+" or "-" sign, followed by the difference from UTC represented as hh:mm.

경우에 대 한 일정 정의 TimedSubscription 은 공유 일정으로 공유 일정의 일정 ID를 전달 해야 합니다는 MatchData 매개 변수입니다.If the schedule definition for a TimedSubscription is a shared schedule, you must pass the schedule ID of the shared schedule as the MatchData parameter. ID로 전달 되는 일정 한 String, 예를 들어 "4608ac1b-fc75-4149-9e15-5a8b5781b843"입니다.The schedule ID is passed as a String, for example, "4608ac1b-fc75-4149-9e15-5a8b5781b843". 일정 ID를 호출 하 여 가져올 수는 ListSchedules 메서드.The schedule ID can be obtained by calling the ListSchedules method.

사용할 수는 XmlSerializer XML 문자열로 개체 클래스를 자동으로 변환 하는 클래스입니다.You can use the XmlSerializer class to convert your object class to an XML string automatically. 에 대 한 자세한 내용은 XmlSerializer Microsoft.NET Framework 설명서에서 "System.Xml.XmlSerializer 클래스"를 참조 하세요.For more information about the XmlSerializer class, see "System.Xml.XmlSerializer Class" in the Microsoft .NET Framework documentation.

이벤트는 SnapshotUpdated 값, 구독 MatchData 해야 null (또는 Nothing Visual Basic의).If the event is a SnapshotUpdated subscription, the value of MatchData should be null (or Nothing in Visual Basic).

이 메서드를 사용 하는 LastExecutedSpecified 속성에 대 한 구독의 false, Status 속성에 대 한 구독의 new subscription, 및 구독의의 모든 속성 Active 개체를 false합니다.Using this method sets the LastExecutedSpecified property of the subscription to false, the Status property of the subscription to new subscription, and all properties of the subscription’s Active object to false. ModifiedByModifiedDate 보고서의 속성을 업데이트 합니다.The ModifiedBy and ModifiedDate properties of the report are also updated.

적용 대상