Bonjour,

Débutante en SQL*Loader, je suis confrontée à un problème de format de date dans mes fichiers de contrôle.

Voici le premier fichier que j'avais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
options (skip=1)
load data
TRUNCATE
INTO TABLE TXATRFR 
FIELDS TERMINATED BY ';'
TRAILING NULLCOLS
(
ARACEXR "substr(:ARACEXR, 1,6)",
ARACEXVL "substr(:ARACEXR, 7,9)",
LBGRPACH,
DTFINRUP,
LBDSPRUP,
ORDSP,
LBANE,
LBTYPLIV,
DTDEBRUP,
DTMAJ sysdate
)
Il me renvoyait :
Record x: Rejected - Error on table TXATRFR, column DTFINRUP
ORA 01858: a non-numeric character was found when a numeric was expected

(Avec x le numéro de toutes les lignes du fichier csv)

J'ai donc modifié le champ DTFINRUP, un champ de date en ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
options (skip=1)
load data
TRUNCATE
INTO TABLE TXATRFR 
FIELDS TERMINATED BY ';'
TRAILING NULLCOLS
(
ARACEXR "substr(:ARACEXR, 1,6)",
ARACEXVL "substr(:ARACEXR, 7,9)",
LBGRPACH,
DTFINRUP DATE  "TO_DATE(:DTFINRUP, 'DD/MM/YYYY')",
LBDSPRUP,
ORDSP,
LBANE,
LBTYPLIV,
DTDEBRUP,
DTMAJ sysdate
)
Et là, nouvelle erreur :
Erreur fatale de SQL*Loader ORA 01821: date format not recognized

Après recherches diverses et variées, je suis tombée sur ça:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
options (skip=1)
load data
TRUNCATE
INTO TABLE TXATRFR 
FIELDS TERMINATED BY ';'
TRAILING NULLCOLS
(
ARACEXR "substr(:ARACEXR, 1,6)",
ARACEXVL "substr(:ARACEXR, 7,9)",
LBGRPACH,
DTFINRUP EXPRESSION "TO_DATE(:DTFINRUP, 'DD/MM/YYYY')",
LBDSPRUP,
ORDSP,
LBANE,
LBTYPLIV,
DTDEBRUP,
DTMAJ sysdate
)
Troisième erreur :
Record x: Rejected - Error on table TXATRFR
ORA-01008: not all variables bound

Bref, je suis paumée.

Voici le format du fichier cvs :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
SIGMA/VL;Secteur;Date Fin;Cause Rupture;Rupture;;Flux;Date Début
214603000;EPICERIE SALEE;31/12/2020;FRN - Rupture longue;1;0;;30/06/2011
Avez-vous une idée de mon erreur ?

Cordialement,