ReportingService2010.SetDataDrivenSubscriptionProperties 方法

定义

设置数据驱动订阅的属性。

public:
 void SetDataDrivenSubscriptionProperties(System::String ^ DataDrivenSubscriptionID, ReportService2010::ExtensionSettings ^ ExtensionSettings, ReportService2010::DataRetrievalPlan ^ DataRetrievalPlan, System::String ^ Description, System::String ^ EventType, System::String ^ MatchData, cli::array <ReportService2010::ParameterValueOrFieldReference ^> ^ Parameters);
[System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/SetDataDrivenSubscriptionProperties", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, RequestNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", ResponseNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", Use=System.Web.Services.Description.SoapBindingUse.Literal)]
[System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")]
[System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)]
public void SetDataDrivenSubscriptionProperties (string DataDrivenSubscriptionID, ReportService2010.ExtensionSettings ExtensionSettings, ReportService2010.DataRetrievalPlan DataRetrievalPlan, string Description, string EventType, string MatchData, ReportService2010.ParameterValueOrFieldReference[] Parameters);
[<System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/SetDataDrivenSubscriptionProperties", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, RequestNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", ResponseNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", Use=System.Web.Services.Description.SoapBindingUse.Literal)>]
[<System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")>]
[<System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)>]
member this.SetDataDrivenSubscriptionProperties : string * ReportService2010.ExtensionSettings * ReportService2010.DataRetrievalPlan * string * string * string * ReportService2010.ParameterValueOrFieldReference[] -> unit
Public Sub SetDataDrivenSubscriptionProperties (DataDrivenSubscriptionID As String, ExtensionSettings As ExtensionSettings, DataRetrievalPlan As DataRetrievalPlan, Description As String, EventType As String, MatchData As String, Parameters As ParameterValueOrFieldReference())

参数

ExtensionSettings
ExtensionSettings

一个 ExtensionSettings 对象,该对象包含特定于传递扩展插件的设置的列表。

DataRetrievalPlan
DataRetrievalPlan

一个 DataRetrievalPlan 对象,该对象包含从对订阅的传递查询中检索数据时所需的设置的列表。

Description
String

向用户显示的贴切描述。

EventType
String

触发订阅的事件的类型。 有效值是 TimedSubscriptionSnapshotUpdated

MatchData
String

与指定类型的事件关联的数据。 此数据由事件处理扩展插件使用,用来将订阅与已经激发的事件进行匹配。

Parameters
ParameterValueOrFieldReference[]

ParameterValue 对象的数组,它包含用于报表的参数的列表。

属性

注解

下表显示了有关此操作的标头和权限信息。

SOAP 标头用法 (In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue
本机模式所需的权限 UpdateAnySubscription
SharePoint 模式所需权限 <xref:Microsoft.SharePoint.SPBasePermissions.ManageAlerts>

为了使数据驱动订阅正常运行,对象引用的数据源 DataRetrievalPlan 必须将 CredentialRetrieval 属性设置为 Store

根据 Field 映射到传递扩展插件设置和报表参数值的字段检查 中包含的 DataSet 对象。 还必须在数据集中枚举在传递扩展插件设置和报表参数值中引用的所有字段。

不执行验证以确保传递查询返回数据集中枚举的字段。 如果传递查询未返回数据集中枚举的字段,则处理订阅时报表服务器将引发错误。

参数的值 EventType 必须与报表服务器上配置的事件处理扩展插件相对应。 如果事件处理扩展插件未处理事件,则会引发 SOAP 异常并显示错误代码 rsInvalidEvent。 事件必须由创建通知的事件处理扩展插件处理。 收到 参数的值 EventType 时,会查询事件处理扩展插件以确定它是否创建通知。 否则,将引发 SOAP 异常并显示错误代码 rsEventNonSubscribeable

参数的值 MatchData 取决于事件类型。 如果事件是 TimedSubscription 事件,则需要对象 ScheduleDefinition 作为 MatchData 参数。 必须先将 ScheduleDefinition 对象序列化为 XML,以便将其作为字符串值传递,并根据计划创建订阅。 XML 结构可能类似于以下示例中的结构:

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

作为 XML 字符串传递的 StartDateTime 元素的值应对应于日期格式 ISO 8601。 此国际日期和时间标准是扩展格式 CCYY-MM-DDThh:mm:ss+/-Z,其中“CC”表示世纪,“YY”表示年份,“MM”表示月份和“DD”日。 字母“T”是日期和时间分隔符,“hh”、“mm”、“ss”分别表示小时、分钟和秒。 此表示形式可能紧跟一个“Z”,表示协调世界时 (UTC) 。 为了指示时区(表示为本地时间与协调世界时之间的差),“Z”前面是“+”或“-”符号,后跟表示 hh:mm 的 UTC 的差值。

如果 TimedSubscription 的计划定义是共享计划,则必须将共享计划的计划 ID 作为 MatchData 参数传递。 计划 ID 作为 String传递,例如,“4608ac1b-fc75-4149-9e15-5a8b5781b843”。 可以通过调用 ListSchedules 方法获取计划 ID。

可以使用 XmlSerializer 类自动将对象类转换为 XML 字符串。 有关 XmlSerializer 类的详细信息,请参阅“System.Xml。Microsoft .NET Framework 文档中的 XmlSerializer 类”。

如果事件是快照更新订阅,则应null在 Visual Basic) 中 (Nothing 参数的值MatchData

适用于