|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 26 ![]() |
Bonjour,
Est ce possible d'extraire et générer un fichier au format fixe avec BCP? Merci d'avance |
|
|
00
|
|
|
#2 |
![]() ![]() |
Qu'est-ce que tu entends par "format fixe" ?
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 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 26 ![]() |
Si la colonne est définie sur 20 caractères et qu'il n'y a que 15 caractères dans la base alors remplir par espace pour arriver à une longueur de 20.
De ce fait, ce n’est pas le séparateur qui définit la position d’un champ mais sa longueur : col1, col2, col3 Versus col1 col2 col3 |
|
|
00
|
|
|
#4 |
![]() ![]() Arnaud FeltzDéveloppeur .NET Inscription : août 2005 Messages : 5 204 ![]() |
Et pour les entiers / numériques, vous voulez mettre quoi ?
J'ai bien peur que ce que vous cherchez à faire n'est pas viable... Quel est le but recherché derrière tout ça?
__________________
C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère Installation de Code::Blocks sous Debian à partir de Nightly Builds
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 26 ![]() |
Je n'ai que des varchar.
|
|
|
00
|
|
|
#6 |
![]() ![]() |
S'il n'y a que des varchar, tu peux créer une vue qui fait des convert(char(xx), ...), et faire un bcp out depuis la vue.
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
|
|
|
#7 | |||||
|
Nouveau Membre du Club
![]() Inscription : décembre 2007 Messages : 26 ![]() |
Citation:
de rien. Il faut utiliser les fichiers "format" de BCP (voire la doc Sybase pour les détails), par exemple: pour une table : Code :
Code :
la deuxième ligne contient le nombre de colonnes dans le fichier de sortie ensuite chaque ligne défini une colonne: - position de la colonne dans le fichier de sortie - type dans le fichier de sortie (par exemple, un "int" dans une table peut être extrait en tant que SYBCHAR) - la longueur du "pre-fixe-length" ("0" indique qu'on n'utilisera que 0 octet pour stoker la longueur de la zone dans le fichier de sortie, donc rien, c'est à dire que dans ce cas, l'information ne nous intéresse pas dans le fichier de sortie) - longueur de la colonne dans le fichier de sortie - séparateur de colonne (noter le "\n" sur la dernière colonne) - position de la colonne dans la table (c'est peut-etre inversé avec l'autre position, c'est à vérifier) - nom de la colonne dans la table Ensuite il faut lancer le BCP avec l'option "-f" Code :
% bcp <db-name>..tstbcp out tstbcp.out -f tstbcp.fmt -U<user-name> -P<user-pwd> -S<srv-name> DBRep |
|||||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 26 ![]() |
Merci
|
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 26 ![]() |
C'est curieux le format de fichier obtenu. J'ai des caractères spéciaux :
x ? @GRP01 INST1 01/01/1900 A ce n'est pas exploitable. |
|
|
00
|
|
|
#10 | |
|
Nouveau Membre du Club
![]() Inscription : décembre 2007 Messages : 26 ![]() |
Citation:
- quel contenu as-tu dans ton fichier format de BCP - quelle structure de table as-tu - quelle commande exécutes-tu (ligne de commande BCP) et éventuellement ta version d'ASE et O/C DBRep |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com