Bonjour à tous,
Je vous donne deux missions pour ce post, d'abord la plus dur essayer de comprendre mon problème et le second, le résoudre.
Alors j'alimente une base Oracle xe avec sql loader. Mon fichier plats (txt) est constitué de bloc de données, afin de savoir quels enregistrements se trouve dans quels blocs après l'importation, j'ai créer des séquences.
Voici mon fichier de contrôle :
Le code fonctionne parfaitement MAIS je me suis aperçu que les derniers enregistrements d'un bloc se trouvaient dans le bloc 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
18
19
20
21
22 OPTIONS (SKIP=1) LOAD DATA INFILE ....txt' TRUNCATE INTO TABLE T_DGP_L1 when F0 = '1' FIELDS TERMINATED BY ';' TRAILING NULLCOLS ( ID "SEQ.nextval", F0 FILLER POSITION(1) char, CODE_OFFRE, TX_TVA ) INTO TABLE T_DGP when F0 = '2' FIELDS TERMINATED BY ';' TRAILING NULLCOLS ( ID expression "SEQ.currval", F0 FILLER POSITION(1) char, CODE_PREST, TYPE_PREST, )
Ce qui laisserai penser que l'execution sequence.nextval et sequence.currval n'est pas bien synchronisé.(pourtant si je ne me trompe pas l'import est bien ligne par ligne).
Pour ce qui aurait compris mon problème, auriez vous des indications sur ce sujet?
romain.
Partager