uso dinamicas concatenate column ssis expression bids ssdt ssis-2012

dinamicas - ssis variables in sql command



Expresiones de SSIS que establecen dos variables (2)

Intento utilizar una "Tarea de Expresión" dentro de SSIS para simplemente inicializar / establecer dos variables. Esta tarea aparentemente simple me ha vuelto loco porque no sé cómo separar las declaraciones:

@[User::testVariable]="1" @[User::testVar2]=3

Eso da un error de análisis, y he leído bastante documentación en vano. Cómo se separan las declaraciones y espero no tener que usar más de una tarea de expresión porque tengo muchas variables ... Gracias


Algo que comencé recientemente, que puede ser útil para las personas:

En lugar de tener que pasar por la molestia de configurar múltiples tareas de expresión o una tarea de secuencia de comandos, me he dado cuenta de que a menudo es posible utilizar una tarea de ejecución de SQL para realizar el trabajo. El SQL necesario puede variar un poco según la base de datos a la que se conecte, mi ejemplo se basa en SQL Server.

Mi ejemplo se basa en inicializar variables a partir de parámetros, pero esto puede modificarse para diferentes situaciones.

Paso 1

Cree una consulta que acepte parámetros; estos son los parámetros o variables de los que necesita los valores. Por supuesto, puede usar esto para inicializar una variable a 0 o hacer algo de aritmética en un par de parámetros o variables.

Use la opción de fila única para la opción Conjunto de resultados .

Paso 2

Configure su asignación de parámetros como de costumbre.

Paso 3

Configura tu conjunto de resultados.

Supongo que la desventaja de esto es que te estás conectando a una base de datos para hacerlo, pero si tienes SSIS instalado, entonces tienes una instancia de SQL Server en ese servidor, así que no estoy seguro de que sea una desventaja.

Encuentro esto mucho menos complicado que configurar una tarea de secuencia de comandos, pero YMMV.


Solo puedes establecer 1 variable a la vez:

Para cambiar el valor de una variable durante el tiempo de ejecución necesita una expresión o una tarea de secuencia de comandos. La expresión no es muy flexible y la tarea de secuencia de comandos requiere conocimiento .Net. Es por eso que Microsoft introdujo la Expression Task en SSIS 2012. Le permite establecer el valor de una variable durante el tiempo de ejecución. Lo malo es que no está disponible para 2008 y solo puedes establecer una variable a la vez .

http://microsoft-ssis.blogspot.com/2013/07/custom-ssis-component-multiple.html

Tendría que descargar un componente personalizado Multiple Expressions Task que se proporciona en el enlace o realizar una Expression Task para cada variable.