Bonjour,
Je rencontre un problème sur l'utilisation de sql loader.
Un fichier PAYS* est chargé en base via un sqlloader. Dans ce fichier, il y a une première ligne ou tous les champs sont non renseignés (cette ligne y est souvent mais pas tout le temps), ce qui met le code retour de sqlloader différent de 0.
Dans le traitement actuel, les tests sur le code retour sont fait de cette manière :
si ret=1 : quitte le traitement avec un message d'erreur.
si ret=2 : un message WARNING est affiché dans la log mais le traitement continue (donc pas d'erreur)
si autre erreur : quitte le traitement avec un message d'erreur.
Dans le nouveau traitement, le test qui est fait si ret est différent de 0, on sort en erreur or quand il y a l'erreur ou le code retour est à 2 on ne devrait pas sortir.
Comment faire pour que cette ligne soit quand même prise en compte par le traitement donc qu'il sorte avec un code retour à 0?
Voici le fichier ctl :
1 2 3 4 5 6 7 8 9 10
| options (load)
load data replace
into table T_TEMP_PAYS
(
CODE_PAYS position(8:10) char NULLIF (CODE_PAYS = '')
,LIB_PAYS_COURT position(15:34) char NULLIF (LIB_PAYS_COURT = '')
,LIB_PAYS_LONG position(36:65) char NULLIF (LIB_PAYS_LONG = '')
,CODE_NUM_PAYS position(87:89) char NULLIF (CODE_NUM_PAYS = '')
) |
et voici l'appelle
sqlldr userid=${ORA_CONN} data=${RPFIC} control=${CTLFIC} silent=header,feedback bad=${BADFIC} log=${TMPFICLOG}
Merci d'avance,
Partager