Bonjour,
Je dois importer un fichier csv dans une table.
La table est la suivante
la séquence est créée
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 CREATE TABLE CCM_IMPORT_CER ( IC4_ID NUMBER, IC1_CODE NUMBER(15), CTC_CODE NUMBER(10), CTC_RAIS VARCHAR2(100 CHAR), CDR_CP VARCHAR2(8 CHAR), CDR_VILLE VARCHAR2(40 CHAR), CER_LIB VARCHAR2(30 CHAR), CER_CODE NUMBER(2), ACC_DATEOPT DATE, IC1_CER_TOKILL NUMBER(1), IC1_CER_KILLED NUMBER(1), INTEGRATED_AT VARCHAR2(15 CHAR), CREATED_AT DATE, CREATED_BY NUMBER(6) )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 -- -- CCM_IMPORT_CER_SEQ (Sequence) -- CREATE SEQUENCE CCM_IMPORT_CER_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE NOCACHE ORDER;
Le fichier de contrôle est le suivant
Le fichier csv à importer est le suivant :
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 LOAD DATA INFILE "${DIRCSV}${uti_code}_CCM_IMPORT_CER_${integrated_at}.csv" APPEND INTO TABLE CCM_IMPORT_CER FIELDS terminated by ";" Optionally enclosed by '"' TRAILING NULLCOLS ( IC4_ID "ccm_import_cer_seq.nextval", IC1_CODE , CTC_RAIS , CDR_CP , CDR_VILLE , CER_LIB , CER_CODE , ACC_DATEOPT , IC1_CER_TOKILL , IC1_CER_KILLED )
L'import me donne ça en .log
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 1;Raison sociale 1;85600;Montaigu;Attestation de capacité;74;;0;0 3;Raison sociale 3;85602;Montaigu;Attestation de capacité;74;;0;0 3;Raison sociale 3;85602;Montaigu;Dolce vita;61;;0;0 4;Raison sociale 4;85603;Montaigu;Eco artisan;72;;0;0 4;Raison sociale 4;85603;Montaigu;Eco artisan;72;;0;0 5;Raison sociale 5;85604;Montaigu;Suivi Guillot;7;;0;0
- Si je met en dernier la lecture de la colonne IC4_ID (pour la séquence), alors il intègre la 1ère ligne et les autres sont en erreur.
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 Table CCM_IMPORT_CER, loaded from every logical record. Insert option in effect for this table: APPEND TRAILING NULLCOLS option in effect Column Name Position Len Term Encl Datatype ------------------------------ ---------- ----- ---- ---- --------------------- IC4_ID FIRST * ; O(") CHARACTER SQL string for column : "ccm_import_cer_seq.nextval" IC1_CODE NEXT * ; O(") CHARACTER CTC_RAIS NEXT * ; O(") CHARACTER CDR_CP NEXT * ; O(") CHARACTER CDR_VILLE NEXT * ; O(") CHARACTER CER_LIB NEXT * ; O(") CHARACTER CER_CODE NEXT * ; O(") CHARACTER ACC_DATEOPT NEXT * ; O(") CHARACTER IC1_CER_TOKILL NEXT * ; O(") CHARACTER IC1_CER_KILLED NEXT * ; O(") CHARACTER Record 1: Rejected - Error on table CCM_IMPORT_CER, column IC1_CODE. ORA-01722: invalid number Record 2: Rejected - Error on table CCM_IMPORT_CER, column IC1_CODE. ORA-01722: invalid number Record 3: Rejected - Error on table CCM_IMPORT_CER, column IC1_CODE. ORA-01722: invalid number Record 4: Rejected - Error on table CCM_IMPORT_CER, column IC1_CODE. ORA-01722: invalid number Record 5: Rejected - Error on table CCM_IMPORT_CER, column IC1_CODE. ORA-01722: invalid number Record 6: Rejected - Error on table CCM_IMPORT_CER, column IC1_CODE. ORA-01722: invalid number Table CCM_IMPORT_CER: 0 Rows successfully loaded. 6 Rows not loaded due to data errors. 0 Rows not loaded because all WHEN clauses were failed. 0 Rows not loaded because all fields were null. Space allocated for bind array: 165120 bytes(64 rows) Read buffer bytes: 1048576 Total logical records skipped: 3 Total logical records read: 6 Total logical records rejected: 6 Total logical records discarded: 0
- Si je met en dernier la colonne IC4_ID et que j'ajoute des ; à la fin de chaque ligne du csv alors il arrive à m'intégrer les lignes, mais je ne vois pas pourquoi il me demande cela étant donné que j'utilise l'option TRAILING NULLCOLS ?
- Si je met IC4_ID EXPRESSION "ccm_import_cer_seq.nextval", ça ne fonctionne pas non plus.
Qu'est ce que j'ai bien pu zapper pour intégrer correctement ce fichier csv ?
Merci pour votre aide.
Partager