ReportingService2010.SetDataDrivenSubscriptionProperties Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Establece las propiedades de una suscripción basada en datos.
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())
Parámetros
- DataDrivenSubscriptionID
- String
El ID de la suscripción, devuelto por el CreateDataDrivenSubscription(String, ExtensionSettings, DataRetrievalPlan, String, String, String, ParameterValueOrFieldReference[]) método.
- ExtensionSettings
- ExtensionSettings
Un ExtensionSettings objeto que contiene una lista de ajustes específicos de la extensión de entrega.
- DataRetrievalPlan
- DataRetrievalPlan
Un DataRetrievalPlan objeto que contiene una lista de ajustes necesarios para recuperar datos de la consulta de entrega para la suscripción.
- Description
- String
Una descripción significativa que se muestra a los usuarios.
- EventType
- String
El tipo de evento que activa la suscripción. Los valores válidos son TimedSubscription o SnapshotUpdated.
- MatchData
- String
Los datos asociados al tipo de evento especificado. Estos datos los utiliza una extensión de procesamiento de eventos para emparejar la suscripción con un evento que se ha activado.
- Parameters
- ParameterValueOrFieldReference[]
Un array de ParameterValue objetos que contiene una lista de parámetros para el informe.
- Atributos
Comentarios
La siguiente tabla muestra la información sobre cabeceras y permisos sobre esta operación.
| Uso de la cabecera SOAP | (En) TrustedUserHeaderValue (Fuera) ServerInfoHeaderValue |
| Permisos requeridos en modo nativo | UpdateAnySubscription |
| Permisos requeridos en el modo SharePoint | <xref:Microsoft.SharePoint.SPBasePermissions.ManageAlerts> |
Para que la suscripción basada en datos funcione correctamente, la fuente de datos a la que hace referencia el DataRetrievalPlan objeto debe tener una CredentialRetrieval propiedad establecida en Store.
Los Field objetos contenidos en el DataSet se comprueban con los campos que están asignados a la configuración de extensión de entrega y los valores de los parámetros de reporte. Todos los campos que se referencian en la configuración de extensión de entrega y los valores de los parámetros de reporte también deben enumerarse en el conjunto de datos.
No se realiza ninguna validación para asegurar que los campos enumerados en el conjunto de datos se devuelvan mediante la consulta de entrega. Si un campo enumerado en el conjunto de datos no es devuelto por la consulta de entrega, el servidor de informes genera un error cuando se procesa la suscripción.
El valor del EventType parámetro debe corresponder a una extensión de procesamiento de eventos configurada en el servidor de informes. Si un evento no es gestionado por una extensión de procesamiento de eventos, se lanza una excepción SOAP con el código rsInvalidEventde error . El evento debe ser gestionado por una extensión de procesamiento de eventos que crea notificaciones. Cuando se recibe un valor para el EventType parámetro, se consulta la extensión de procesamiento de eventos para determinar si crea notificaciones. Si no lo hace, se lanza una excepción SOAP con el código rsEventNonSubscribeablede error .
El valor del MatchData parámetro depende del tipo de evento. Si el evento es un evento TimedSubscription , se requiere un ScheduleDefinition objeto como MatchData parámetro. Primero debes serializar el ScheduleDefinition objeto como XML para poder pasarlo como valor de cadena y crear una suscripción basada en el calendario. La estructura XML podría parecerse a la del siguiente ejemplo:
<ScheduleDefinition>
<WeeklyRecurrence>
<StartDateTime>2003-02-24T09:00:00-08:00</StartDateTime>
<WeeksInterval>1</WeeksInterval>
<DaysOfWeek>
<Monday>True</Monday>
</DaysOfWeek>
</WeeklyRecurrence>
</ScheduleDefinition>
El valor del elemento StartDateTime , cuando se pasa como cadena XML, debe corresponder al formato de fecha ISO 8601. Este estándar internacional de fecha y hora es el formato extendido CCYY-MM-DDThh:mm:ss+/-Z, donde "CC" representa el siglo, "YY" el año, "MM" el mes y "DD" el día. La letra "T" es el separador de fecha y hora y "hh", "mm", "ss" representan la hora, el minuto y el segundo respectivamente. Esta representación puede ir seguida inmediatamente de una "Z" para indicar el Tiempo Universal Coordinado (UTC). Para indicar la zona horaria, representada como la diferencia entre la hora local y la Hora Universal Coordinada, "Z" va precedida de un signo "+" o "-", seguido de la diferencia respecto a UTC representada como hh:mm.
Si la definición de horario para una TimedSubscription es un horario compartido, entonces debes pasar el ID de horario compartido como MatchData parámetro. El ID del horario se transmite como un String, por ejemplo, "4608ac1b-fc75-4149-9e15-5a8b5781b843". El ID del calendario se puede obtener llamando al ListSchedules método.
Puedes usar la clase XmlSerializer para convertir automáticamente tu clase objeto en una cadena XML. Para más información sobre la clase XmlSerializer, consulte "System.Xml.XmlSerializer Class" en la documentación de Microsoft .NET Framework.
Si el evento es una suscripción de actualización instantánea, el valor del MatchData parámetro debería ser null (Nothing en Visual Basic).