SQL Server Integration Services - Mover y Renombrar un archivo
Yo se que ya existen muchos .. tutoriales de esto, entre ellos:
http://www.rafael-salas.com/2007/03/ssis-file-system-task-move-and-rename.html
Bueno en sí no puede decirles si funcionan o no, pero lo que si es que les falto explicar un detalle, espero poder explicarlo xD y les sea util para un primer ejercicio con SSIS
Vamos a empezar con algo sencillo:
- Foreach Loop Container
- File System Task - Para Mover
- File System Task - Para Rename
Ahorita no he configurado nada, solo le he cambiado nombre
Lo siguientes es configurar For Each Loop, para ello nos situamos en COLLECTION, volvemos a seleccionar Foreach File Enumerator, dado que así nos apareceran mas funciones.
- Folder: Seleccionamos la dirección de carpetas que vamos a copiar.
- File: Agregamos la extension de nuestro archivo, o ya sea como va iniciar nuestro archivo, entre otras.
- Fully Qualified: Esto representara que vamos a guardar el nombre y dirección en una variable.
Por último, nos vamos a Variable Mappings y agregamos una nueva variable, podemos usar una ya existente o crear una ahí mismo, aqui almacenaremos el nombre completo de la variable.
Configuración de File System Task:
Ahora debemos agregar 2 variables Rename y Move, ahora para variable Rename la seleccionamos luego nos vamos a la barra de propiedades, y cambiamos la opción Evaluate As Expression: true y procedemos a editar la expression.
REPLACE( @[User::VarFile] , ".txt","_cargado.txt")
Ahora vamos a agregarle la ubicación de destino a nuestra variable move:
File System Task:
Ahora procedemos a editar la tarea de Rename por ello, configuramos las opciones:
Destination Connection:
- IsDestinationPathVariable: True
- DestinationVariable: User::Rename
- OverwriteDestination: True
Operation:
- Operation: Rename File
Source Connection:
- IsSourcePathVariable: True
- SourceVariable: User::VarFile
Al dar aceptar, aún nos aparecera que existe un error, por ello nos vamos a las propiedades de la tarea Rename(Task File System) y cambiamos la opción a true DelayValidation: True
Ahora vamos a configurar a Move (File System Task):
Destination Connection:
- IsDestinationPathVariable: True
- DestinationVariable: User::Move
- OverwriteDestination: True
Operation
- Operation: Move file
Source Connection
- IsSourcePathVariable: True
- SourceVariable: User::Rename
Nuevamente al dar aceptar, aún nos aparecera que existe un error, por ello nos vamos a las propiedades de la tarea Move (Task File System) y cambiamos la opción a true DelayValidation: True
Ahora por fín procedemos a ejecutar nuestro package: