|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Nouveau Membre du Club
![]() Développeur décisionnel Inscription : juillet 2002 Messages : 61 ![]() |
Bonjour,
J'ai besoin de faire un export d'une requête Sybase dans un fichier csv. Avec ASE, j'ai testé la commande OUTPUT: Code :
Citation:
Merci !! |
|||
|
|
00
|
|
|
#2 | ||
![]() ![]() |
Je ne connais pas la commande "OUTPUT" (en tout cas pour ASE).
Pour faire un CSV il faut formatter les data "à la main" - les outils Sybase fournis ne le font pas automatiquement, à moins d'avoir un outil qui le fait déjà (e.g. SQLBrowser le fait - www.sqlbrowser.com). Le faire à la main donne qqch du genre Code :
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 |
||
|
|
00
|
|
|
#3 |
|
Membre éclairé
![]() Développeur informatique Inscription : octobre 2006 Messages : 210 ![]() |
J'utiliserais bcp avec l'option -c ( mode charactere ) et -t; pour spécifier le delimiteur de champs.
Eventuellement il faudra echapper la valeur de ; avec \ ou en l'entourant de "". Il faut pour cela que les données soient definies dans une table 'en dur' ou par une vue qui les définie |
|
|
00
|
|
|
#4 | ||
|
Nouveau Membre du Club
![]() Développeur décisionnel Inscription : juillet 2002 Messages : 61 ![]() |
J'ai effectivement testé avec les délimiteurs dans la requête. Cela fonctionne "presque" correctement.
Au delà du 6eme champ, il ajoute un saut de ligne.... Code :
Merci |
||
|
|
00
|
|
|
#5 |
![]() ![]() |
Utiliser l'option -w de isql (-w 1024 p.ex.).
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 |
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Développeur décisionnel Inscription : juillet 2002 Messages : 61 ![]() |
Merci Michael, c'est parfait.
Reste un petit détail, à la fin de mon fichier, il me remonte (6rowsaffected) Est ce que j'ai la possibilité de supprimer ce message ? Il faudrait également remplacer si cela est possible la valeur NULL remontée par rien ;NULL; > ;; Merci |
|
|
00
|
|
|
#7 |
![]() ![]() |
avant d'exécuter la query.
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 |
|
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Développeur décisionnel Inscription : juillet 2002 Messages : 61 ![]() |
J'ai toujours mon problème de valeur NULL a remplacer car il plante lors de l'import.
Le champ de destination est de type char(3)... Petit à petit l'oiseau fait son nid |
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Développeur décisionnel Inscription : juillet 2002 Messages : 61 ![]() |
C'est ok j'ai trouvé la solution
j'ai modifié ma commande sed :Code :
sed "s/^ *//;s/ *$//;s/ \{1,\}//g;s/NULL//" <test_temp.csv> test.csv |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com