IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sybase Discussion :

[OC]Bcp out d'une table sans les blancs de de fin


Sujet :

Sybase

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 4
    Points : 3
    Points
    3
    Par défaut [OC]Bcp out d'une table sans les blancs de de fin
    Bonjour,

    Je veut faire en sybase un bcp out d'une table avec des champs déclarés en char(xx).

    Les champs contiennent des chaines dont la longueur est inférieure la déclaration.

    Lorsque je fait un bcp out de cette table avec l'option -t ';' (pour indiquer ';' comme séparateur) les champs apparaissent avec des blancs en fin de chaine.
    Contenu du fichier :
    A ;0001 ;00000447

    Je souhaiterais que le fichier du bcp out ne contiennent pas les blans en fin de chaine.
    Contenu du fichier voulu :
    A;0001;00000447

    Y a t'il une option du bcp out qui élimine ces blancs de fin de chaine ?

    Merci pour vos réponses.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Les blancs en fin de chaine apparaissent uniquement si le datatype est de type CHAR. Il est peut-être possible de les convertirs en VARCHAR via un fichier de format.

    Alternativement on peut créer une vue où on utilise convert() pour changer les char en varchar, et faire un bcp out de la vue.

    Ou encore passer le fichier bcp au travers d'un filtre (sed, perl, ...) et ainsi virer les blancs.

    Michael

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 293
    Points : 182
    Points
    182
    Par défaut
    bcp -c (mode caractère) -r ( délmiteur de ligne default \n) -t ( délimiteur de champ default \t espace quoi)
    vila tu peux changer les -t et -r avec les valeurs que tu souhaite.
    Vila

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Utilisation de sed
    Si on prend l'option d'utiliser sed pour éliminer les blancs du fichier, pouvez vous me donner la commande à utiliser ?

    Merci

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    On veut enlever les blancs qui précèdent le ';':

    (non testé...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cat bcpfile| sed s/ +;/;/g
    Michael

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/10/2010, 14h05
  2. Réponses: 7
    Dernier message: 28/03/2007, 13h57
  3. Bcp out d'une table sans les blancs de fin de chaine
    Par armor92 dans le forum Outils
    Réponses: 3
    Dernier message: 07/12/2006, 13h41
  4. Bcp out d'une table sans les blancs de fin de chaine
    Par armor92 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 07/12/2006, 13h41
  5. Copie d'une table sans les enregistrements
    Par jmde dans le forum Access
    Réponses: 13
    Dernier message: 06/10/2006, 01h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo