PROBLEMA
Requerimos generar archivos desde SSIS que a su vez los nombres de estos
se encuentren definidos ya en una tabla de SQL
SERVER, y que podamos modificarlo de acuerdo a nuestro criterio, que puedo
hacer?
SOLUCION
Como ya les he explicado en artículos
anteriores ( USANDO FOREACH LOOP CONTAINER EN
SSIS y SSIS, GENERANDO ARCHIVOS CON NOMBRES
DINAMICOS ), vamos
a combinar lo practicado en estos dos artículos, requerimos extraer los nombres
de los archivos desde SQL SERVER,
leer el resultado con un objeto FOR EACH LOOP CONTAINER, después depositar el nombre en una variable de SSIS y por
ultimo conectar dicha variable a la propiedad ConnectionString de la conexión, bien, hagamoslo.
IF OBJECT_ID( 'dbo.nombreArchivos' ) IS NOT NULL DROP TABLE dbo.nombreArchivos; CREATE TABLE dbo.nombreArchivos( cveNombreArchivos TINYINT IDENTITY(1,1) , nombreArchivo VARCHAR(100) ) INSERT INTO dbo.nombreArchivos( nombreArchivo ) VALUES( 'windows.txt' ) , ( 'sqlServer.asd' ) , ( 'managementStudio.qwe' ) , ( 'azureDatabase.ops' ) , ( 'integrationServices.pin' ) SELECT * FROM dbo.nombreArchivos
Nuevamente, con la BD
de ejemplo AdventureWorks, de donde
extraeremos la información será la tabla Production.Location
Primero necesitamos realizar la
conexión a nuestra BD para poder hacer las consultas necesarias, en este caso
utilizaré un OLE DB Connection Manager
Creamos la variable que almacenará
el contenido del resultado de la consulta de los nombres de los archivos
Procedemos
a realizar la consulta y capturar el resultado en la variable de tipo Object resultSet:
Una vez almacenada nuestra consulta
en una variable, procederemos a recorrer dicho resultado utilizando un bucle.
Creamos un Data Flow Task para
realizar el proceso de carga.
Bien esto fue de la parte de la
fuente, ahora vamos con la parte del destino. Primero necesitamos preparar la conexión
destino.
Como siguiente paso, ahora
arrastramos un Flat File Destination el cual configuraremos de la siguiente
manera:
Y nuestro paquete quedara asi:
Y eso es todo, espero que les sirva.
SALUDOS
COMPARTE ESTA INFORMACION SI TE PARECIO INTERESANTE
0 comentarios:
Publicar un comentario