Bonjour,
Je suis un nouvel utilisateur oracle, j’essaye d’enrichir une table à partir d’un fichier plat (mission.dat)
Ex : VG01,"abcdeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
Ma table sous oracle 8i est structurée en 2 colonnes Cle varchar2(4), Libelle varchar2(2000)
Le fichier .ctl est le suivant
load data
infile 'mission.dat'
insert
into table schxt.a01_mission append
fields terminated by ","
(cle, libelle)
Je rencontre un rejet
CLE FIRST * , CHARACTER
LIBELLE NEXT * , CHARACTER
Record 1: Rejected - Error on table SCHXT.A01_MISSION, column LIBELLE.
Field in data file exceeds maximum length
Table SCHXT.A01_MISSION:
0 Rows successfully loaded.
1 Row 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.
Si j’insère cet enregistrement avec 261c c’est bon, en revanche au-delà de 255c dans libelle ce n’est plus bon, alors que ma zone réceptrice est déclarée en varchar2(2000).
Sous sqlplus il n’y a pas de problème pour insérer des enregistrement >255
J’ai essayé de décrire la zone dans le fichier .ctl sans succès.
Pourriez-vous m’aider
Je vous en remercie
Partager