|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 6 ![]() |
Bonjour,
Je souhaite charger un fichier de données en base (oracle 9i) via sql loader : le fichier de type "csv" doit : - avoir des ";" comme séparation entre les données : ca c'est ok, j'utilise <FIELDS TERMINATED BY ';'> - je doit pouvoir charger des données nulles : ca c'est OK, j'utilise <TRAILING NULLCOLS> Par contre, le nombre de colonnes d'une ligne à charger doit toujours être le même, aussi si ce n'est pas le cas dans certaines lignes du fichier, j'aimerais que ca parte en erreur pour ces lignes. Le problème c'est que je ne sais pas comment effectuer ce contrôle, ou spécifier le nombre de colonne à charger. Comment faire? |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 6 ![]() |
je dois pouvoir charger des lignes de données avec des colonnes vides
|
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : juin 2005 Messages : 73 ![]() |
As - tu pensé à une table externe?
|
|
|
00
|
|
|
#4 | |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 319 ![]() |
Citation:
|
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 6 ![]() |
en fait, je passe par une Table temporaire avant de charger en base, où j'effectue divers contrôle.
De plus, j'utilisais le "trailing" au cas où il y a des colonnes vides dans le fichier : comme ce fichier : "CHE;RCE_ENT;94599099;;LENT;;;;;;;" Si j'enlève le trailing comment gérer le ";;" ? |
|
|
00
|
|
|
#6 | ||
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 6 ![]() |
voici mon code :
Code :
|
||
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 6 ![]() |
c'est bon finalement :
faire un ksh de lancement du sql loader. avant le traitement, remplacer (par la commande "sed") dans le fichier à charger les ";;" par "; ;" et dans le loader pour les champs de type NUMBER, faire un decode pour remplacer les "; ;" par "0". |
|
|
00
|
|
|
#8 | |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 319 ![]() |
Citation:
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com