SSIS - Paso a paso Como pedir parametros al usuario
Les explicaré a través de un ejemplo: deseo pedirle al usuario un rango de fechas (inicio y fin); y la cedula.
1. Crearemos las 3 variables para guardar los datos ingresados por el usuario, posteriormente los usaremos en una consulta Transact SQL. En el panel de Variables, si no lo ves en la interfaz dirigite al menu superior View -> Other Windows -> Variables y ahora si te saldrá, en mi caso lo he puesto al lado izquierdo de la interfaz.
Agrega 3 variables:
- V_fecha_ini de tipo datetime y coloca una fecha por defecto, cualquiera
- V_fecha fin has lo mismo que con la anterior
- V_cedula de tipo string, esta es la identificacion de la persona
El prefijo V_ no es necesario, yo lo uso por orden para visualmente saber al interior del codigo VB que estas son variables dentro de mi paquete y no variables creadas al interior del script task. Ten presente cuando creas estas variables el alcance (Scope) con el que quedan, pueden quedar globales, osea que cualquier componente del paquete puede usarlas, o solo a nivel del Script Task que hemos creado, pero así no las podríamos usar en la consulta que posteriormente ejecutaremos.
Si te has equivocado en el Scope de la variable, no hay forma de cambiarlo; toca borrar la variable y volverla a crear. Cómo definirle el Scope?.. da clic sobre el elemento que va a tener el alcance, en mi caso le he dado clic sobre un espacio vacio del paquete, de esta forma me queda una variable global.
2. Agregar el componente Script Task desde el panel de Toolbox, si no lo ves debes seguir el mismo procedimiento que en el paso 1, llámalo "Definir variables" (arrastralo y sueltalo en el panel central)..
Dá doble clic sobre el componente, e ingresa a la sección Script, asegúrate que en la parte de ScriptLanguage quede tu lenguaje favorito visual basic o C#, yo elijo VB.
Si eliges mal el lenguaje, una vez presionas el boton Design Script, después ya no se puede cambiar de lenguaje y te toca borrar y volver a crear este componente.
En la parte de ReadWriteVariables vamos a escribir (SSIS 2005) o seleccionar (SSIS 2008) las variables que creamos separadas por comas.
En la parte de ReadWriteVariables vamos a escribir (SSIS 2005) o seleccionar (SSIS 2008) las variables que creamos separadas por comas.
Dim FECHA_INI as String
FECHA_INI = InputBox("DIGITE LA FECHA, EN FORMATO MM/DD/AAAA", "CONSULTAR ESTADO - FECHA", "", , )
'Verifico que esta sea una fecha valida
FECHA_INI = InputBox("DIGITE LA FECHA, EN FORMATO MM/DD/AAAA", "CONSULTAR ESTADO - FECHA", "", , )
'Verifico que esta sea una fecha valida
If Not IsDate(FECHA_INI) Then
MsgBox("Parametros de entrada incorrectos. Por favor verifique.", , "CONSULTAR ESTADO - ERROR !!!!!!")
'Hago que el paquete termine con error
Dts.TaskResult = Dts.Results.Failure
Exit Sub
Else
' Le asigno a la variable del paquete el valor parseado a fecha de lo ingresado por el usuario
Dts.Variables("V_fecha_ini").Value = DateTime.Parse(FECHA_INI)
End If
Igual para la otra fecha y para la cedula, de esta manera ya tienes las variables con valores para usarlas como quieras en tu paquete.
Etiquetas: ssis
0 comentarios:
Publicar un comentario
<< Inicio