Tutorial de utilización de Loops en Integration Services.

En esta ocasión voy a utilizar Integration Services para crear 4 bases de datos con un simple click. Para eso voy a utilizar el Contenedor de bucles for y la tarea de ejecución de sql.

Para eso voy a utilizar un proyecto de Integration Services. Integration services se crea desde el SQL Server Business Intelligence Development Studio. Para crear un proyecto, lo primero que hay que hacer es ir a Archivo-Nuevo-Proyecto y escoger un proyecto de Integration Services.
Luego, se arma un contenedor de ciclos y dentro y ejecutador de tareas de SQL. Lo que pretendo hacer, es ejecutar 4 veces (podrían ser 1000 sin ningún esfuerzo extra) un creador de base de datos que creará bases de datos llamados dbase0, dbase1..dbase3.
Nuestro proyecto se vería de manera similar la siguiente figura:




Luego creamos un par de variables. La variable Límite establece cuantas veces vamos a ejecutar. En este ejemplo, serán 4 veces.
La variable Contador es un contador que se irá incrementando hasta llegar a 4. Para crear Variables vaya al Menú y busque SSIS>Variables
La creación de variables se verían así:



Ahora, para utilizar las variables, se van a cambiar las propiedades del for loop container. Las propiedades del for loop container debería verse parecidas a la siguiente imagen:


Luego se deben editar las propiedades de la tarea de execución de sentencias SQL, las propiedades deben establecer una conexión a la base de datos, y lo más importante es el sql statement:
Execute ('create database dbase'+?)
Donde ? es el contador que se creó como variable. Estamos creando ahí las bases de datos dbase1, dbase2, dbase3, etc.
Para asignar el parámetro contador a nuestra tarea hacemos algo similar a la siguiente imagen:


Donde Nombre de parámetro es 0, que significa que el primer parámetro es contador. En este caso solo hay un ?. Por lo que solo se usa el nombre de parámetro 0. Si hubiesen más variables se usaría el 0, 1, 2, 3, etc.

Lo último que queda es ejecutar el package. Si todo salió bien, 4 bases de datos se deberían haber ejecutado.

Tienes dudas sobre Integration services ?.
Existen errores extraños que no puedes resolver al ejecutar packages ?.
Si es así, escribe a este blog.

Comentarios

Entradas populares de este blog

The Deep Sea: una web interactiva para explorar las profundidades el mar y descubrir las extrañas criaturas que viven en él

Detectar el usuario de Windows utilizando C#

Lo nuevo de SQL Server 2008 respecto a SQL Server 2005