none
comment tronquer une colonne dans ssis ? RRS feed

  • Question

  • Bonjour à tous.
    Voilà j'ai une source ole db qui recupère des informations dans plusieurs tables de ma base. Puis je la relie à une destination de fichier plat. Là je choisi la largeur de mes différentes colonnes dans le fichier plat. Quand j'éxécute, j'ai alors une erreur qui ce produit, dû au fait que je spécifie une largeur trop petite pour l'une des colonnes que j'exporte. Comment puis-je forcer ssis à tronquer ma colonne pour pouvoir l'écrire dans mon fichier plat ? 
    Ou dois-je obligatoirement spécifier une largeur de colonne suffisament grande dans mon fichier plat ?
    Merci beaucoup par avance 
    lundi 8 février 2010 15:03

Réponses

  • Bonjour zereno,

    Je te conseille d'utiliser la fonction SUBSTRING pour tronquer ta colonne.
    Soit directement si tu peux, soit à l'aide d'une colonne dérivée si besoin.
    Comme cela tu auras une colonne dont les donn"es seront tronquées, et donc plus de problème de largeur de colonne trop petite.

    Cordialement,

    Thomas
    Thomas Aimonetti - C# - Sharplog Engineering - http://www.sharplog.fr
    • Marqué comme réponse Alex Petrescu jeudi 11 février 2010 10:23
    lundi 8 février 2010 16:37
  • Bonjour,

    Plusieurs solutions:
    - Dès la source de données, il faut définir la taille de la colonne de sortie (via l'editeur avancé - onglet propriété entrée et sortie) sur la taille désirée et en ignorant l'erreur de troncature (propriété TruncationRowDispsition) de cette même colonne.
    - Ajouter une transformation Conversion de données (Data conversion) dans le flux de données. La sortie d'erreur doit être paramètrer pour cette transformation sur ignorer l'erreur (pour la troncature). Si possible, il faut réaliser cette transformation le plus tot possible histoire de gagner en performance.

    Cordialement
    Jean-Michel Guemguem
    Tekigo
    http://blog.tekigo.com
    • Marqué comme réponse Alex Petrescu jeudi 11 février 2010 10:23
    mardi 9 février 2010 00:57

Toutes les réponses

  • Bonjour zereno,

    Je te conseille d'utiliser la fonction SUBSTRING pour tronquer ta colonne.
    Soit directement si tu peux, soit à l'aide d'une colonne dérivée si besoin.
    Comme cela tu auras une colonne dont les donn"es seront tronquées, et donc plus de problème de largeur de colonne trop petite.

    Cordialement,

    Thomas
    Thomas Aimonetti - C# - Sharplog Engineering - http://www.sharplog.fr
    • Marqué comme réponse Alex Petrescu jeudi 11 février 2010 10:23
    lundi 8 février 2010 16:37
  • Bonjour,

    Plusieurs solutions:
    - Dès la source de données, il faut définir la taille de la colonne de sortie (via l'editeur avancé - onglet propriété entrée et sortie) sur la taille désirée et en ignorant l'erreur de troncature (propriété TruncationRowDispsition) de cette même colonne.
    - Ajouter une transformation Conversion de données (Data conversion) dans le flux de données. La sortie d'erreur doit être paramètrer pour cette transformation sur ignorer l'erreur (pour la troncature). Si possible, il faut réaliser cette transformation le plus tot possible histoire de gagner en performance.

    Cordialement
    Jean-Michel Guemguem
    Tekigo
    http://blog.tekigo.com
    • Marqué comme réponse Alex Petrescu jeudi 11 février 2010 10:23
    mardi 9 février 2010 00:57
  • Bonjour,

     

    Jean-Michel et Thomas, merci pour vos réponses !  

     

    Cordialement,

    Alex


    Alex Petrescu - MSFT
    jeudi 11 février 2010 10:24