Bonjour,
Je souhaites charger une table via SQL Loader à condition que mon fichier soit bon. J'ai dans cette table un champ "dossier" défini en varchar2 de 10 caractères. dans le fichier que je charge j'ai une donnée devant aller dans le champ "dossier" faisant plus de 10 caractères.
J'ai précisé errors=0 dans ma commande. Bizarrement les données sont tout de même chargées, à l'exception de celle trop grande. Comment faire pour qu'auncun enregistrement ne soit inséré si l'un d'eux n'est pas valide ?
Voila un exemple de ce que je veux faire :
Le dernier enregistrement contient plus de 1à caractère dans le premier champ je souhaites donc qu'auncune action ne soit faite ou que les enregistrement venant d'être insérés soient enlevé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Mon_fichier.csv contient 1111111111;123 2222222222;345 ... 99999999999;456
Voici ma commande
Mon fichier d'import
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2sqlldr user/password control=Import.ctl log=log.txt discard=discard.txt errors=0
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 LOAD DATA INFILE '/Interface/AL/Fichier/AL.csv' TRUNCATE INTO TABLE SIC_AL FIELDS TERMINATED BY ';' optionally enclosed by '"' ( DOSSIER , MT )
Partager