|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 10 ![]() |
Bonjour,
Voici mon problème : Je dispose d'un fichier permettant d'insérer dans une table externe via le SQL*Loader de la forme suivante : Citation:
Dans le SQL*Loader, j'utilise un LOAD WHEN sur la première colonne mais le traitement me ressort les erreurs suivantes : Citation:
Voici comment peut se présenter le fichier : Citation:
Ma question est donc la suivante : Comment faire pour que le SQL*Loader ne prenne en compte que les lignes du fichier dont la première colonne vaut 50. Merci d'avance. |
|||
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
tu peux pas faire un SKIP quand la 1° colonne est différente de 50 ?
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 10 ![]() |
Je ne comprend pas ce que tu veux dire.
D'après ce que j'ai compris, le SKIP s'applique sur une ligne en particulier en lui donnant le numéro de la ligne mais dans mon cas, je ne sais pas conbien de ligne j'ai à supprimer (l'en-tête faisant 1, 2, 3,... lignes et la position de l'en-pied vairant forcément avec le nombre d'enregistrement dans le fichier). Un bout de code pour m'expliquer serait le bienvenu. |
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
ce serait pas mal d'avoir le control file
|
|
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 10 ![]() |
Le voici :
Code :
|
||
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 10 ![]() |
Je viens de rendre compte que les données étaient chargées puis contrôlées avec le LOAD WHEN.
Existe-t-il un moyen de vérifier les lignes avant de les charger ? |
|
|
00
|
|
|
#7 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Ne serait-ce pas plus simple de faire un petit traitement avant d'envoyer le fichier à l'emplacement prévu ?
|
|
|
00
|
|
|
#8 | |
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 10 ![]() |
Citation:
Le seul problème provient du temps de traitement qui est négligeable lorsque la quantité de données traitées est faible (environ 15 minutes pour 20000 enregistrements en générant le fichier temporaire contre 10 minutes avant) mais les fichiers de données complets contiennent plusieurs gigas de données et le traitement actuel complet dure déjà 13 heures environ et la perte de temps n'est pas négligeable. |
|
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 10 ![]() |
J'ai réussi à avoir un expert Oracle au téléphone ce matin et qui m'a confirmer que mon cas n'était pas possible à réaliser.
Il faut donc que je me rabatte vers la solution de supprimer les lignes d'en-tête et d'en-pied. reste à voir si le client acceptera les temps de traitement allongés. Mais si quelqu'un a une solution autre, je suis ouvert à toute proposition. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com