Précédent   Forum des professionnels en informatique > Bases de données > Sybase
Sybase Forum sur la base de données Sybase. Avant de poster -> F.A.Q Sybase, Tutoriels Sybase
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/12/2006, 14h10   #1
Invité de passage
 
Inscription : décembre 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 4
Points : 0
Points : 0
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.
armor92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2006, 15h36   #2
Rédacteur/Modérateur
 
Inscription : janvier 2006
Messages : 1 301
Détails du profil
Informations personnelles :
Âge : 52

Informations forums :
Inscription : janvier 2006
Messages : 1 301
Points : 1 505
Points : 1 505
Envoyer un message via AIM à mpeppler
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
__________________
Michael Peppler
Membre de TeamSybase - www.teamsybase.com

"A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson
mpeppler est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2006, 15h38   #3
Membre habitué
 
Inscription : mars 2006
Messages : 293
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 293
Points : 140
Points : 140
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
arona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2006, 16h00   #4
Invité de passage
 
Inscription : décembre 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 4
Points : 0
Points : 0
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
armor92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2006, 16h10   #5
Rédacteur/Modérateur
 
Inscription : janvier 2006
Messages : 1 301
Détails du profil
Informations personnelles :
Âge : 52

Informations forums :
Inscription : janvier 2006
Messages : 1 301
Points : 1 505
Points : 1 505
Envoyer un message via AIM à mpeppler
On veut enlever les blancs qui précèdent le ';':

(non testé...)

Code :
1
2
 
cat bcpfile| sed s/ +;/;/g
Michael
__________________
Michael Peppler
Membre de TeamSybase - www.teamsybase.com

"A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson
mpeppler est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h55.


 
 
 
 
Partenaires

Hébergement Web