ReportingService2010.SetDataDrivenSubscriptionProperties 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
设置数据驱动订阅的属性。
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())
参数
- DataDrivenSubscriptionID
- String
订阅的 ID,该 ID 由 CreateDataDrivenSubscription(String, ExtensionSettings, DataRetrievalPlan, String, String, String, ParameterValueOrFieldReference[]) 方法返回。
- ExtensionSettings
- ExtensionSettings
一个 ExtensionSettings 对象,该对象包含特定于传递扩展插件的设置的列表。
- DataRetrievalPlan
- DataRetrievalPlan
一个 DataRetrievalPlan 对象,该对象包含从对订阅的传递查询中检索数据时所需的设置的列表。
- Description
- String
向用户显示的贴切描述。
- EventType
- String
触发订阅的事件的类型。 有效值是 TimedSubscription
或 SnapshotUpdated
。
- 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
。