Compartir a través de


Utilizar variables en el componente de script

Las variables almacenan valores que un paquete y sus contenedores, tareas y controladores de eventos pueden usar en tiempo de ejecución. Para obtener más información, vea Variables de Integration Services.

Puede hacer que las variables existentes estén disponibles para el acceso de solo lectura o de lectura/escritura por parte del script personalizado escribiendo listas de variables delimitadas por comas en los campos ReadOnlyVariables y ReadWriteVariables de la página Script del Editor de transformación Script. Tenga presente que los nombres de variable distinguen entre mayúsculas y minúsculas. Utilice la propiedad Value para leer de y escribir en las variables individuales. El componente de script administra en segundo plano cualquier bloqueo necesario cuando el script manipula las variables en tiempo de ejecución.

Nota importanteImportante

La colección de ReadWriteVariables solo está disponible en el método PostExecute para maximizar el rendimiento y minimizar el riesgo de conflictos de bloqueo. Por consiguiente no puede incrementar directamente el valor de una variable de paquete cuando procesa cada fila de datos. Incremente el valor de una variable local en su lugar y establezca el valor de la variable de paquete en el de la variable local en el método PostExecute una vez procesados todos los datos. También puede utilizar la propiedad VariableDispenser para evitar esta limitación, tal y como se describe más adelante en este tema. Sin embargo, si se escribe directamente en una variable de paquete cuando se procesa cada fila afectará negativamente al rendimiento y aumentará el riesgo de conflictos de bloqueo.

Para obtener más información sobre la página Script del Editor de transformación Script, vea Configurar el componente de script en el editor de componentes de script y Editor de transformación Script (página Script).

El componente de script crea una clase de colección Variables en el elemento de proyecto ComponentWrapper con una propiedad de descriptor de acceso con establecimiento inflexible de tipos para el valor de cada variable preconfigurada donde la propiedad tiene el mismo nombre que la propia variable. Esta colección se expone mediante la propiedad Variables de la clase ScriptMain. La propiedad de descriptor de acceso proporciona permiso de solo lectura o de lectura/escritura al valor de la variable según corresponda. Por ejemplo, si ha agregado una variable entera denominada MyIntegerVariable a la lista ReadOnlyVariables, puede recuperar el valor en el script utilizando el código siguiente:

Dim myIntegerVariableValue As Integer = Me.Variables.MyIntegerVariable

También puede utilizar la propiedad VariableDispenser, a la que se tiene acceso llamando a Me.VariableDispenser, para trabajar con variables del componente de script. En este caso no utiliza las propiedades de descriptor de acceso indicadas y escritas para las variables, sino que obtiene acceso directamente a las variables. Al utilizar VariableDispenser, debe administrar la semántica de bloqueo y la conversión de tipos de datos para los valores de variables en su propio código. Tiene que utilizar la propiedad VariableDispenser en lugar de las propiedades de descriptor de acceso con nombre y tipo si desea trabajar con una variable que no esté disponible en tiempo de diseño sino que se crea mediante programación en tiempo de ejecución.

Icono de Integration Services (pequeño) Manténgase al día con Integration Services

Para obtener las más recientes descargas, artículos, ejemplos y vídeos de Microsoft, así como soluciones seleccionadas de la comunidad, visite la página de Integration Services en MSDN o TechNet:

Para recibir notificaciones automáticas de estas actualizaciones, suscríbase a las fuentes RSS disponibles en la página.