Bonjour à tous,
Je dois importer un fichier texte, et certains champs contiennent des sauts de lignes. Seulement j'identifie une fin de ligne aussi avec un saut de ligne.
Pour m'en sortir, ces champs sont identifiés par des guillemets.
Ce sera plus clair avec un exemple !
Fichier texte à Importer :
Sur le 2eme enregistrement, il y un saut de ligne sur le Champ2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Champ1,Champ2,Champ3,Champ4 1,"texte",123,"texte" 2,"texte avec saut de ligne",123,"texte" 3,"texte",123,"texte"
Voilà mon fichier de contrôle pour l'instant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 OPTIONS (SILENT=(HEADER,FEEDBACK,DISCARDS)) LOAD DATA TRUNCATE INTO TABLE MA_TABLE FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS (Champ1 INTEGER EXTERNAL, Champ2 CHAR, Champ3 INTEGER EXTERNAL, Champ4 CHAR )
Les enregistrement 1 et 3 saut bien intégrés, mais le 2eme enregistrement avec saut de ligne est bad.
J'ai regardé avec l'option "CONTINUEIF", mais je ne comprends pas
Merci à ceux qui pourraient m'aider
Je suis sur une base Oracle 10g (10.1.3) sur un serveur Unix.
[Edit]
Une solution aurait été de redéfinir le caractère de fin d'enregistrement (comme ici).
Mais le format du fichier texte m'est imposé...![]()
Partager