// Ajouter les classes spécifiques du framework .NET en plus des classes standards utilisées dans le composant Script SSIS
using System;
using System.IO;
using System.IO.Compression;


// Création de la fonction
// Le code de la fonction est à placer juste avant la fonction principale Main du script C# (dans le composant SSIS)

public void Compresser_Fichier(string Nom_De_Fichier)
{
using (FileStream Flux_Fichier = new FileStream(Nom_De_Fichier + ".gz", FileMode.Create, FileAccess.Write, FileShare.None))
using (GZipStream Flux_Compression = new GZipStream( Flux_Fichier , CompressionMode.Compress, true)
{
byte[] Buffer_A_Ecrire = File.ReadAllBytes(Nom_De_Fichier);
Flux_Compression.Write(Buffer_A_Ecrire, 0, Buffer_A_Ecrire.Length);
}
}


public void Main()
{

// La variable Fichier_A_Compresser est à remplacer par le fichier à zipper ou à mapper avec une variable dynamique provenant d'un container ForEach File par exemple
String Fichier_A_Compresser = "C:\Fichier_A_Compresser.txt";
Compresser_Fichier(Fichier_A_Compresser);

Dts.TaskResult = (int)ScriptResults.Success;

}