contexte:
oracle 9i sous XP.
données en provenance d'export de tables Access.


Bonjour,

J’essaie de charger des données avec sqlloader et je reçois ces 2 erreurs que j’ai du mal à corriger. Ci-dessous je donne le script de création de la table , le fichier control ainsi qu’un extrait des erreurs reçues (Je n'ai pas voulu les donner dans mon premier SOS car c'est volumineux!).

Je reçois l’erreur suivante alors que la colonne OBSALTRES est déclarée comme varchar2(1000) et la valeur à charger est vide (NULL) :
Enregistrement 1367 : Rejeté - Erreur sur table PERSPRINC, colonne OBSALTRES.
un champ du fichier de données dépasse la longueur maximale autorisée

Je reçois aussi l’erreur ci-dessous alors que ALCADA est déclarée comme float et la valeur à charger est NULL :
Enregistrement 1251 : Rejeté - Erreur sur table PERSPRINC, colonne ALCADA.
ORA-01722: Nombre non valide

En tout cas merci d’avance pour votre aide.

ssidki

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
CREATE TABLE PERSPRINC (
    Ident VARCHAR(8) CONSTRAINT NN_Ident NOT NULL,
    fecha_creacion DATE,
    NUMFITXA INTEGER DEFAULT 0,
    DATARECEPC DATE,
    DNI VARCHAR(12),
    TIPUSDNI VARCHAR(4),
    COGNOMS VARCHAR(70),
    NOM VARCHAR(30),
    NACIONALIT INTEGER DEFAULT 0,
    DATARESIDE VARCHAR(50),
    DATANAIXAM DATE,
    SEXE VARCHAR(1),
    ESTATCIVIL VARCHAR(22),
    NUMFILLS FLOAT,
    DOMICILI VARCHAR(100),
    CODIPOSTAL VARCHAR(6),
    MUNICIPI VARCHAR(50),
    TELEFONDOM VARCHAR(14),
    TELEFONCON VARCHAR(14),
    TELEFONMOBIL VARCHAR(14),
    PROCEDENCIA VARCHAR(8),
    SITLAB VARCHAR(5),
    APUNTATSCC INTEGER CONSTRAINT NN_APUNTATSCC NOT NULL,
    CENTRESCC VARCHAR(50),
    APUNTATOTG INTEGER CONSTRAINT NN_APUNTATOTG NOT NULL,
    DATAAPUNTATOTG DATE,
    BENEPRESTA INTEGER CONSTRAINT NN_BENEPRESTA NOT NULL,
    TIPUSPREST VARCHAR(40),
    DATAFINALPRESTACIONS DATE,
    PERMISTREBALL INTEGER CONSTRAINT NN_PERMISTREBALL NOT NULL,
    PERMISTREBALLENTRAMIT INTEGER CONSTRAINT NN_PERMISTREBALLENTRAMIT NOT NULL,
    Discapacitat INTEGER CONSTRAINT NN_Discapacitat NOT NULL,
    DicapacitatGrau INTEGER DEFAULT 0,
    DiscapacitatTipus VARCHAR(5),
    Diagnostic VARCHAR(255),
    DiscapacitatObservacions VARCHAR(50),
    PersonesCarrec INTEGER CONSTRAINT NN_PersonesCarrec NOT NULL,
    PersonesCarrecDetall VARCHAR(50),
    COLLECTIU VARCHAR(4),
    PES FLOAT,
    ALCADA FLOAT,
    NIVELLACAD VARCHAR(5),
    INCINCORPO INTEGER CONSTRAINT NN_INCINCORPO NOT NULL,
    INCTEMINC FLOAT,
    INCDATAINC DATE,
    INCMOTIU VARCHAR(200),
    INCJORNADA VARCHAR(4),
    INCHORARI VARCHAR(4),
    INCPROXIMI VARCHAR(40),
    INCLLOC VARCHAR(100),
    INCRETRIBU FLOAT,
    INCVIATJAR INTEGER CONSTRAINT NN_INCVIATJAR NOT NULL,
    INCLOCOMOC INTEGER CONSTRAINT NN_INCLOCOMOC NOT NULL,
    INCTREBALL INTEGER CONSTRAINT NN_INCTREBALL NOT NULL,
    INCATENCIO INTEGER CONSTRAINT NN_INCATENCIO NOT NULL,
    OBSDISPONIBILITAT VARCHAR2(1000),
    OBSMOTIVACIO VARCHAR2(1000),
    OBSDEFINICIO VARCHAR2(1000),
    OBSCONEIXEMENTTECNIQUES VARCHAR2(1000),
    OBSNECESSITATFORMACIO VARCHAR2(1000),
    OBSALTRES VARCHAR2(1000),
    FEINAPREF1 VARCHAR2(100),
    FEINAPREF2 VARCHAR2(100),
    FEINAPREF3 VARCHAR2(100),
    ACCEPTAQUALSEVOLFEINA INTEGER CONSTRAINT NN_ACCEPTAQUALSEVOLFEINA NOT NULL,
    PERMISCOND INTEGER CONSTRAINT NN_PERMISCOND NOT NULL,
    VEHIPROPI INTEGER CONSTRAINT NN_VEHIPROPI NOT NULL,
    AFICIONS VARCHAR(70),
    ACTIVO VARCHAR(1),
    AMBITORIE INTEGER CONSTRAINT NN_AMBITORIE NOT NULL,
    AMBITFORM INTEGER CONSTRAINT NN_AMBITFORM NOT NULL,
    AMBITINSE INTEGER CONSTRAINT NN_AMBITINSE NOT NULL,
    INTERESFORMACIO INTEGER CONSTRAINT NN_INTERESFORMACIO NOT NULL,
    DATAINTERES DATE,
    USUARIINTERES VARCHAR(8),
    PREFFORMACIO1 VARCHAR(5),
    PREFFORMACIO2 VARCHAR(5),
    PREFFORMACIO3 VARCHAR(5),
    HORARIFORMACIO VARCHAR(5),
    FORMAOBSERVACIONS VARCHAR2(1000),
    DataPrimeraEntrevista DATE,
    UsuariPrimeraEntrevista VARCHAR(8),
    USUARIULTIMAMODIF VARCHAR(20),
    DATAULTIMAMODIF DATE,
    ESTAT VARCHAR(8),
    PROG VARCHAR(8),
    DataCompromis DATE,
    BorsaDeTreball INTEGER CONSTRAINT NN_BorsaDeTreball NOT NULL,
    Tipus_Persona VARCHAR(3),
    EMAIL VARCHAR(50),
    ordinador INTEGER CONSTRAINT NN_ordinador NOT NULL,
    conexio_internet INTEGER CONSTRAINT NN_conexio_internet NOT NULL,
    tipus_conexio VARCHAR(50),
    correu_electronic INTEGER CONSTRAINT NN_correu_electronic NOT NULL,
    ncomptes INTEGER DEFAULT 0,
    us_internet VARCHAR(50),
    temps_internet VARCHAR(50),
    ProgPIC INTEGER CONSTRAINT NN_ProgPIC NOT NULL,
    ProgNEXUS INTEGER CONSTRAINT NN_ProgNEXUS NOT NULL,
    ProgAUTOEMPRESA INTEGER CONSTRAINT NN_ProgAUTOEMPRESA NOT NULL,
    ProgAltres INTEGER CONSTRAINT NN_ProgAltres NOT NULL,
    CONSTRAINT PK_PERSPRINC PRIMARY KEY (Ident)
);

Fichier control 

Load data
infile 'c:\TEST\txt\persprinc.txt' "strX'7C0D0A'"
BADFILE 'c:\TEST\bad\persprinc.bad'
DISCARDFILE 'c:\TEST\dis\persprinc.dis'
into table PERSPRINC
fields terminated by ";" optionally enclosed by '"'
trailing nullcols
(
Ident ,
fecha_creacion  "case when length(:fecha_creacion) <= 10
then to_date(:fecha_creacion,'dd/mm/yyyy')
else to_date(:fecha_creacion, 'dd/mm/yyyy hh24:mi:ss')
end",
NUMFITXA INTEGER EXTERNAL,
DATARECEPC  "case when length(:DATARECEPC) <= 10
then to_date(:DATARECEPC,'dd/mm/yyyy')
else to_date(:DATARECEPC, 'dd/mm/yyyy hh24:mi:ss')
end",
DNI ,
TIPUSDNI ,
COGNOMS ,
NOM ,
NACIONALIT INTEGER EXTERNAL ,
DATARESIDE ,
DATANAIXAM  "case when length(:DATANAIXAM) <= 10
then to_date(:DATANAIXAM,'dd/mm/yyyy')
else to_date(:DATANAIXAM, 'dd/mm/yyyy hh24:mi:ss')
end",
SEXE ,
ESTATCIVIL ,
NUMFILLS FLOAT EXTERNAL,
DOMICILI ,
CODIPOSTAL ,
MUNICIPI ,
TELEFONDOM ,
TELEFONCON ,
TELEFONMOBIL ,
PROCEDENCIA ,
SITLAB ,
APUNTATSCC INTEGER EXTERNAL ,
CENTRESCC ,
APUNTATOTG INTEGER EXTERNAL ,
DATAAPUNTATOTG  "case when length(:DATAAPUNTATOTG) <= 10
then to_date(:DATAAPUNTATOTG,'dd/mm/yyyy')
else to_date(:DATAAPUNTATOTG, 'dd/mm/yyyy hh24:mi:ss')
end",
BENEPRESTA INTEGER EXTERNAL ,
TIPUSPREST ,
DATAFINALPRESTACIONS  "case when length(:DATAFINALPRESTACIONS) <= 10
then to_date(:DATAFINALPRESTACIONS,'dd/mm/yyyy')
else to_date(:DATAFINALPRESTACIONS, 'dd/mm/yyyy hh24:mi:ss')
end",
PERMISTREBALL INTEGER EXTERNAL,
PERMISTREBALLENTRAMIT INTEGER EXTERNAL ,
Discapacitat INTEGER EXTERNAL ,
DicapacitatGrau INTEGER EXTERNAL ,
DiscapacitatTipus ,
Diagnostic ,
DiscapacitatObservacions ,
PersonesCarrec INTEGER EXTERNAL ,
PersonesCarrecDetall ,
COLLECTIU ,
PES FLOAT EXTERNAL,
ALCADA FLOAT EXTERNAL,
NIVELLACAD ,
INCINCORPO INTEGER EXTERNAL ,
INCTEMINC FLOAT EXTERNAL,
INCDATAINC  "case when length(:INCDATAINC) <= 10
then to_date(:INCDATAINC,'dd/mm/yyyy')
else to_date(:INCDATAINC, 'dd/mm/yyyy hh24:mi:ss')
end",
INCMOTIU ,
INCJORNADA ,
INCHORARI ,
INCPROXIMI ,
INCLLOC ,
INCRETRIBU FLOAT EXTERNAL,
INCVIATJAR INTEGER EXTERNAL ,
INCLOCOMOC INTEGER EXTERNAL ,
INCTREBALL INTEGER EXTERNAL ,
INCATENCIO INTEGER EXTERNAL ,
OBSDISPONIBILITAT ,
OBSMOTIVACIO ,
OBSDEFINICIO ,
OBSCONEIXEMENTTECNIQUES ,
OBSNECESSITATFORMACIO ,
OBSALTRES ,
FEINAPREF1 ,
FEINAPREF2 ,
FEINAPREF3 ,
ACCEPTAQUALSEVOLFEINA INTEGER EXTERNAL ,
PERMISCOND INTEGER EXTERNAL ,
VEHIPROPI INTEGER EXTERNAL ,
AFICIONS ,
ACTIVO ,
AMBITORIE INTEGER EXTERNAL ,
AMBITFORM INTEGER EXTERNAL ,
AMBITINSE INTEGER EXTERNAL ,
INTERESFORMACIO INTEGER EXTERNAL ,
DATAINTERES  "case when length(:DATAINTERES) <= 10
then to_date(:DATAINTERES,'dd/mm/yyyy')
else to_date(:DATAINTERES, 'dd/mm/yyyy hh24:mi:ss')
end",
USUARIINTERES ,
PREFFORMACIO1 ,
PREFFORMACIO2 ,
PREFFORMACIO3 ,
HORARIFORMACIO ,
FORMAOBSERVACIONS ,
DataPrimeraEntrevista  "case when length(:DataPrimeraEntrevista) <= 10
then to_date(:DataPrimeraEntrevista,'dd/mm/yyyy')
else to_date(:DataPrimeraEntrevista, 'dd/mm/yyyy hh24:mi:ss')
end",
UsuariPrimeraEntrevista ,
USUARIULTIMAMODIF ,
DATAULTIMAMODIF  "case when length(:DATAULTIMAMODIF) <= 10
then to_date(:DATAULTIMAMODIF,'dd/mm/yyyy')
else to_date(:DATAULTIMAMODIF, 'dd/mm/yyyy hh24:mi:ss')
end",
ESTAT ,
PROG ,
DataCompromis  "case when length(:DataCompromis) <= 10
then to_date(:DataCompromis,'dd/mm/yyyy')
else to_date(:DataCompromis, 'dd/mm/yyyy hh24:mi:ss')
end",
BorsaDeTreball INTEGER EXTERNAL ,
Tipus_Persona ,
EMAIL ,
ordinador INTEGER EXTERNAL ,
conexio_internet INTEGER EXTERNAL ,
tipus_conexio ,
correu_electronic INTEGER EXTERNAL ,
ncomptes INTEGER EXTERNAL ,
us_internet ,
temps_internet ,
ProgPIC INTEGER EXTERNAL ,
ProgNEXUS INTEGER EXTERNAL ,
ProgAUTOEMPRESA INTEGER EXTERNAL ,
ProgAltres INTEGER EXTERNAL
)
Ligne rejetée (Enregistrement 129 : Rejeté - Erreur sur table PERSPRINC, colonne OBSALTRES. Un champ du fichier de données dépasse la longueur maximale autorisée) :

"A0000125";16/03/2001 10:18:00; 0;16/03/2001 00:00:00;"18201125Y";"B";"MATEO";"JULIA"; 108;;;"D";;;;;;"938306377";;;"8";; 0;; 0;; 0;;; 0; 0; 0; 0;;;; 0;;;;;; 0;;;;;;;;; 0; 0; 0; 0;;;;;;;;;; 0; 0; 0;;"T"; 0; 0; 0; 0;;;;;;;;;;"Montse";16/03/2001 10:18:22;" ";;;-1;"U";; 0; 0;; 0;;;; 0; 0; 0; 0|

Exemples de lignes rejetées
Ligne rejetée (Enregistrement 341 : Rejeté - Erreur sur table PERSPRINC, colonne ALCADA. ORA-01722: Nombre non valide):

"A0000327";02/04/2001 11:14:25; 88;02/04/2001 00:00:00;"39717997X";"B";"BECERRA JIMENEZ";"MONTSERRAT"; 108;;17/05/1976 00:00:00;"D";"A";;"AV. BASES DE MANRESA, 27-3-2";"08240";"MANRESA";"656360572";"656602074";;"8";"C";-1;; 0;; 0;;; 0; 0; 0; 0;;;; 0;;;;;"12";-1;;;;;;"30";;; 0; 0; 0; 0;;;"EL PROPER CURS VOL ESTUDIAR EDUCACIÓ INFANTIL O MONITORA D'EQUITACIÓ";;;;;;; 0;-1;-1;;"T"; 0; 0; 0; 0;;;;;;;;;"4";"Teresa";25/07/2001 13:18:52;" ";;;-1;"U";; 0; 0;; 0;;;; 0; 0; 0; 0|