Bonjour,

je souhaiterais effectuer le chargement d'une base de données à une autre en utilisant des fichiers plats. J'ai réussi à charger presk l'ensemble de mes tables avec SQLLDR mais une me résiste ...

mon fichier plat est de la forme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
"ID_MES","DATE_MES","VALEUR","TYPE_MES","FREQ_MES"
"51950","05/04/2006 00:15:00","1","M","Q"
"51951","05/04/2006 00:15:00","-1","M","Q"
"51952","05/04/2006 00:15:00","422","A","Q"
"51953","05/04/2006 00:15:00","27","A","Q"
dans la base de données cible :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
create table MA_TABLE(
DATE_MES DATE not null,
VALEUR FLOAT,
TYPE_MES VARCHAR2(1) not null,
FREQ_MES VARCHAR2(1) not null,
ID_MES NUMBER not null
)
mon fichier de controle: control_MM.txt
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
LOAD DATA INFILE 'ma_table.csv' 
INSERT 
INTO TABLE MA_TABLE
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
(ID_MES,DATE_MES,VALEUR,TYPE_MES,FREQ_MES)
la commande sqllr lancée


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
sqlldr control=control_MM.txt log=log_MM.txt
log=log_MM.txt bad=bad_MM.txt discard=discard_MM.txt direct=y errors=0 skip=1 userid=mon_login/pwd
l'erreur que j'obtiens
Record 13: Rejected - Error on table MA_TABLE, column TYPE_MES.
ORA-01401: inserted value too large for column

Config: Oracle 9.2


je ne sais vraiment plus dans quelle direction chercher. Un coup de main serait vivement apprécié

merci d'avance à ceux qui se pencheront sur le probleme

Magic Charly