Comprimir archivos con SSIS
SSIS Comprimir y Extraer archivos con System.IO.Compression
En la actualidad manipulamos grandes volúmenes de datos los cuales consumen espacio en disco y sobre todo trafico e nuestra red, por lo cual saber manipularlos es una ganancia de dinero, por el espacio en disco y de tiempo por la velocidad de transferencia de datos, esto nos lleva a trabajar con compresión de datos , para lo cual Comprimir archivos con SSIS sera sumamente fácil
El espacio de nombres de System,IO,Compression tiene varios tipos de compresiones, sin embargo explicaremos Zipfile, sin embargo la utilización de los otros es similar, aquí les dejo la información para su análisis
Clase | Descripción | |
---|---|---|
![]() |
DeflateStream |
Proporciona métodos y propiedades para comprimir y descomprimir secuencias usando el algoritmo Deflate. |
![]() |
GZipStream |
Proporciona los métodos y propiedades que permiten comprimir y descomprimir secuencias. |
![]() |
ZipArchive |
Representa un paquete de archivos comprimidos en formato de archivo zip. |
![]() |
ZipArchiveEntry |
Representa un archivo comprimido incluido en un archivo zip. |
![]() |
ZipFile |
Proporciona métodos estáticos para crear, extraer y abrir archivos zip. |
![]() |
ZipFileExtensions |
Proporciona métodos de extensión para la ZipArchive y ZipArchiveEntry clases. |
Paso 1:
- Crearemos un directorio para nuestro proyecto
- Realizaremos una copia de nuestros archivos de ejemplo dentro de nuestro proyecto
Paso 2:
- Crear un proyecto de SSIS
- Crear una paquete de SSIS
- Crear dos variables en parámetros de nuestro proyecto de SSIS
- Llenar nuestras variables con los parametros de las rutas que utilizaremos
- ZipFile Valor «D:\Temp\SSIS\SamplezipFile.zip«
- DestinationDirectory Valor «D:\Temp\SSIS«
Paso 3:
- Dentro de nuestro nuevo paquete seleccionaremos un TaskScritp de la barra de herramientas
- Luego le cambiaremos el nombre por Extract zip file (o el que gusten como Pepito Perez es igual)
Paso 4:
- Dentro de nuestro nuevo paquete seleccionaremos un TaskScritp de la barra de herramientas
- Luego le cambiaremos el nombre por Extract zip file (o el que gusten como Pepito Perez es igual)
Paso 5:
- seleccionar las variables como read only
- dar click en el editor de codigo
Paso 6:
- Agregar nuestra referencia
Paso 7:
- Buscar la ruta del framework del cual queremos la DLL en nuestro ejemplo 4.5
Paso 8:
- Seleccionamos nuestra DLL y damos aceptar
Paso 9:
Escribimos nuestro código para comprimir datos
1 2 3 4 5 6 7 8 9 10 11 12 |
//I created two variables to hold the sytem variables //get $Project::ZipFile string zipFile = Dts.Variables["$Project::ZipFile"].Value.ToString(); //get $Project::DestinationDirectory string destinationDirectory = Dts.Variables["$Project::DestinationDirectory"].Value.ToString(); //extract the zip file System.IO.Compression.ZipFile.ExtractToDirectory(zipFile, destinationDirectory); Dts.TaskResult = (int)ScriptResults.Success; |
Paso 10:
- ejecutamos
- Validamos nuestra carpeta para ver nuestros datos comprimidos
![]() |
---|
Para usar el ZipFile (clase), debe agregar una referencia a la System.IO.Compression.FileSystem ensamblado en el proyecto; en caso contrario, obtendrá el siguiente mensaje de error al intentar compilar: el nombre ‘ZipFile’ no existe en el contexto actual. Para obtener más información sobre cómo agregar una referencia al proyecto en Visual Studio, consulte Cómo: Agregar o quitar referencias usando el Administrador de referencias. |