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