Bonjour,

Je rencontre un problème concernant le chargement d'un fichier dans oracle via sql loader.

Le fichier en question contenant diverses lignes à exclure, j'ai donc intégré dans le .ctl différents critères d'exclusion qui fonctionnaient jusqu'à ce que je rencontre de nouvelles erreurs dans le fichier (tels que 0003; v+UJp ou kJO0/)

Ces erreurs se rencontrent dans le champ DATE_EXTRACT qui doit contenir une date quantième au format jjjaa.

J'ai donc voulu éviter ça avec la clause suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
when (51:53) > '001' and (51:53) < '366'
mais cela ne fonctionne évidemment pas...je suppose que la syntaxe est mauvaise.

Si quelqu'un saurait me dépanner sur ce coup là...merci d'avance.

Je laisse ci-dessous le code complet de mon .ctl:

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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
options (skip=1)
load data infile 'S:\CFTRECV\MESFICHIERS\MONFICHIER.dat'
append
into table t_pnd
when (37:38) = 'm_'
(DATE_DEPOT position (3:8),
ID_CLIENT position (9:22),
ID_ADRESSE position (23:36),
CODE_ACTION position (37:50),
DATE_EXTRACT position (51:55),
ORIGINE position (56:60),
DATE_PND position (74:83))
into table t_pnd
when (37:38) = 's_'
(DATE_DEPOT position (3:8),
ID_CLIENT position (9:22),
ID_ADRESSE position (23:36),
CODE_ACTION position (37:50),
DATE_EXTRACT position (51:55),
ORIGINE position (56:60),
DATE_PND position (74:83))
into table t_pnd
when (37:38) = 'a_'
(DATE_DEPOT position (3:8),
ID_CLIENT position (9:22),
ID_ADRESSE position (23:36),
CODE_ACTION position (37:50),
DATE_EXTRACT position (51:55),
ORIGINE position (56:60),
DATE_PND position (74:83))
into table t_pnd
when (37:38) = 'b_'
(DATE_DEPOT position (3:8),
ID_CLIENT position (9:22),
ID_ADRESSE position (23:36),
CODE_ACTION position (37:50),
DATE_EXTRACT position (51:55),
ORIGINE position (56:60),
DATE_PND position (74:83))
into table t_pnd
when (51:53) > '001' and (51:53) < '366'
(DATE_DEPOT position (3:8),
ID_CLIENT position (9:22),
ID_ADRESSE position (23:36),
CODE_ACTION position (37:50),
DATE_EXTRACT position (51:55),
ORIGINE position (56:60),
DATE_PND position (74:83))