none
SSIS Creation de fichier txt RRS feed

  • Question

  • Bonjour,

    Je cherche à créer un fichier "txt" vide dans un répertoire défini qui doit être variabilisé ou tout du moins gérable dans le dtsconfig.

     Je n'y arrive pas par le biais de la "file system task", la connexion source ne créé pas le fichier même si on le lui indique.

    Je n'y arrive pas non plus dans un data flow sans source de donnée (utilisation de "derived column" par exemple).

    Merci de votre aide

    Nad

     

     

    mercredi 31 mars 2010 09:49

Réponses

  • Bonjour,

    Avec un script task:

    • Définir la propriété ReadOnlyVariable avec la variable contenant le nom du fichier texte avec son chemin complet à créer. Par exemple pour une variable au niveau du package Fichier de type string, saisir user::Fichier
    • Editer le script et ajouter le code dans la méthode Main (en code C#):
                string fichier;
                try
                {
                    fichier = (string)Dts.Variables["Fichier"].Value;
                    Directory.CreateDirectory(Path.GetDirectoryName(fichier));
                    File.Create(fichier);
                    Dts.TaskResult = (int)ScriptResults.Success;
                }
                catch (Exception)
                {
                    Dts.TaskResult = (int)ScriptResults.Failure;
                }
    

    Cordialement


    Jean-Michel Guemguem
    Tekigo
    http://blog.tekigo.com
    • Marqué comme réponse Alex Petrescu mercredi 7 avril 2010 09:53
    mercredi 31 mars 2010 12:02

Toutes les réponses

  • Bonjour,

    Avec un script task:

    • Définir la propriété ReadOnlyVariable avec la variable contenant le nom du fichier texte avec son chemin complet à créer. Par exemple pour une variable au niveau du package Fichier de type string, saisir user::Fichier
    • Editer le script et ajouter le code dans la méthode Main (en code C#):
                string fichier;
                try
                {
                    fichier = (string)Dts.Variables["Fichier"].Value;
                    Directory.CreateDirectory(Path.GetDirectoryName(fichier));
                    File.Create(fichier);
                    Dts.TaskResult = (int)ScriptResults.Success;
                }
                catch (Exception)
                {
                    Dts.TaskResult = (int)ScriptResults.Failure;
                }
    

    Cordialement


    Jean-Michel Guemguem
    Tekigo
    http://blog.tekigo.com
    • Marqué comme réponse Alex Petrescu mercredi 7 avril 2010 09:53
    mercredi 31 mars 2010 12:02
  • Bonjour,

     

    merci de votre retour Jean-Michel. Un peu prise par ailleurs ces jours ci, je vais essayer ce script.

    Cordialement,

     

    Nad

    mercredi 7 avril 2010 15:27