|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Membre actif
![]() Inscription : mai 2004 Messages : 725 ![]() |
Bonjour,
J'utilise sqloader pour ajouter les données d'un fichier CSV dans une table. Voici le contenu de mon fichier ctl Code :
Citation:
il y a un caractere retour chariot dans chque element de la derniere colonne. Voir le fichier attaché "caractere retour chariot en fin de colonne.JPG". Cela cause des problèmes dans le code ce retour chariot. Comment supprimer ce retour chariot dans la base de données au chargement de sqlloader ou bien même apres. Je ne peux pas modifier le fichier csv. Merci |
|||
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : décembre 2010 Messages : 190 ![]() |
bonjour,
Des fois Toad montre ce caractère alors qu'il n'en est rien. Essayes STP de faire un simple ou bien un de la dernière colonne. |
|
|
01
|
|
|
#3 |
|
Membre actif
![]() Inscription : mai 2004 Messages : 725 ![]() |
Salut,
1. En faisant un SELECT ca m'affiche la même chose. J’observe toujours le caractère retour chariot. 2. De plus ce caractère pose problème dans mon application car il y un bug a cause de cela. SI j'enlève manuellement le caractère le bug disparait. 3. Lorsque je clique sur le champ avec ce caractère dans Toad, j'observe un retour chariot. Je peux supprimer manuellement ce retour chariot depuis Toad aussi. 4. Si je change mon fichier CSV avec un « ; » à la fin de chaque ligne cela résout le problème aussi. Mais je ne peux pas modifier mon fichier CSV manuellement. Je ne peux utiliser que des scripts pour trouver une solution. Comment résoudre ce problème ? Merci |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : décembre 2010 Messages : 190 ![]() |
Bonjour,
Il y a plusieurs façons de faire : - Soit passer un script une fois que SQL*LOADER ait fini pour supprimer le dernier caractère de la colonne en question. - Soit donner à SQL*LOADER un nombre bien défini de caractères pour le chargement dans la colonne id_auteur_identifie si jamais le fichier comporte toujours le même nombre de caractères pour cette colonne. |
|
|
01
|
|
|
#5 | |||||
|
Membre expérimenté
![]() Mohamed HouriInscription : mars 2010 Messages : 286 ![]() |
Citation:
Vous devriez identifier le caractère de fin de votre ligne et utiliser l'option str. Par exemple votre fichier est 03;MANSENCAL;16564e40-5d1a-11dc-8455-0011259c8108;e7c09890-e1c5-11df-8004-0011259c81080D 03;MANSENCAL;e55ee070-1f4f-11dc-bf60-0011259c8108;e7c09890-e1c5-11df-8004-0011259c81080D 03;mansencal;16564e40-5d1a-11dc-8455-0011259c8108;e7c09890-e1c5-11df-8004-0011259c81080D 'OD' étant la valeur ASCII du retour chariot Un controle file comme le suivant fera l'affaire: Code :
03;MANSENCAL;16564e40-5d1a-11dc-8455-0011259c8108;e7c09890-e1c5-11df-8004-0011259c8108|| 03;MANSENCAL;e55ee070-1f4f-11dc-bf60-0011259c8108;e7c09890-e1c5-11df-8004-0011259c8108|| 03;mansencal;16564e40-5d1a-11dc-8455-0011259c8108;e7c09890-e1c5-11df-8004-0011259c8108|| Adaptez alors le control file en conséquence Code :
Bien à vous Mohamed Houri |
|||||
|
|
10
|
|
|
#6 | ||
|
Membre confirmé
![]() Grégoire MARTINIngénieur développement logiciels Inscription : janvier 2011 Messages : 128 ![]() |
Bonjour,
De mémoire tu peux utiliser des fonctions dans ton control file. Après je me souvient plus exactement la syntaxe mais ça devrait faire un truc du genre : Code :
|
||
|
|
01
|
|
|
#7 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
Vos soucis sont du au fait que le fichier csv est crées sous windows où chaque enregistrement finit par une paire des caractères <CR><LF> et ensuite vous le transférez via ftp en mode binaire sous un système Unix/Linux où le fin d’enregistrement est <LF>. Il suffit de faire un transfère via ftp en mode ASCII pour éliminer le <CR> de trop.
|
|
|
10
|
|
|
#8 | ||
|
Membre actif
![]() Inscription : mai 2004 Messages : 725 ![]() |
Je viens de déterminer une solution :
Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com