SQL loader erreur DATE
Résolu
Hellreaper
Messages postés
34
Date d'inscription
Statut
Membre
Dernière intervention
-
asevere Messages postés 13095 Date d'inscription Statut Webmaster Dernière intervention -
asevere Messages postés 13095 Date d'inscription Statut Webmaster Dernière intervention -
Bonjou
J'ai un souci avec mon sqlloader quand je veux charger un ficher qui contient une date ( exemple : 20:00 )
Voici mon ficher .ctl
LOAD DATA
INFILE 'C:\dml_t_gares.csv'
TRUNCATE
INTO TABLE t_gares
FIELDS TERMINATED BY ';'
(GARE_ID "seq_t_gares.nextval" ,
NOM,
OUVERTURE,
FERMETURE)
Ma table que j'ai crée:
CREATE TABLE T_GARES
(GARE_ID NUMBER(6) ,
NOM VARCHAR2(25) ,
OUVERTURE DATE ,
FERMETURE DATE );
Et mon ficher log me dit:
Enregistrement 1 : Rejeté - Erreur sur table T_GARES, colonne OUVERTURE.
ORA-01843: ce n'est pas un mois valide
mon .csv:
seq_t_gares.nextval;Bordeaux;06:30;22:00
seq_t_gares.nextval;Brest;06:45;21:45
Voila pour le premier pour ma deusième erreur, elle est toujours de type date mais
ficher .ctl
LOAD DATA
INFILE 'C:\dml_t_trains.csv'
TRUNCATE
INTO TABLE t_trains
FIELDS TERMINATED BY ';'
(TRAIN_ID "seq_t_trains.nextval" ,
DEPART_ID,
ARRIVEE_ID,
DATE_DEPART,
DATE_ARRIVEE,
DISTANCE,
PRIX CHAR NULLIF PRIX = 'NULL' "to_number(:PRIX,'9999999D99','NLS_NUMERIC_CHARACTERS= ''. ''')")
table:
CREATE TABLE T_TRAINS
(TRAIN_ID NUMBER(6),
DEPART_ID NUMBER(6),
ARRIVEE_ID NUMBER(6),
DATE_DEPART DATE,
DATE_ARRIVEE DATE,
DISTANCE NUMBER(6),
PRIX NUMBER(8,2));
Enregistrement 1 : Rejeté - Erreur sur table T_TRAINS, colonne DATE_DEPART.
ORA-01830: Le modèle du format de date se termine avant la conversion de la chaîne d'entrée entière
Mon .csv:
seq_t_trains.nextval;16;1;21/11/05 09:00;21/11/05 12:00;482;120.5
seq_t_trains.nextval;1;16;21/11/05 14:30;21/11/05 17:30;482;120.5
Merci de me dire si vous trouver quelque chose de louche,
J'ai un souci avec mon sqlloader quand je veux charger un ficher qui contient une date ( exemple : 20:00 )
Voici mon ficher .ctl
LOAD DATA
INFILE 'C:\dml_t_gares.csv'
TRUNCATE
INTO TABLE t_gares
FIELDS TERMINATED BY ';'
(GARE_ID "seq_t_gares.nextval" ,
NOM,
OUVERTURE,
FERMETURE)
Ma table que j'ai crée:
CREATE TABLE T_GARES
(GARE_ID NUMBER(6) ,
NOM VARCHAR2(25) ,
OUVERTURE DATE ,
FERMETURE DATE );
Et mon ficher log me dit:
Enregistrement 1 : Rejeté - Erreur sur table T_GARES, colonne OUVERTURE.
ORA-01843: ce n'est pas un mois valide
mon .csv:
seq_t_gares.nextval;Bordeaux;06:30;22:00
seq_t_gares.nextval;Brest;06:45;21:45
Voila pour le premier pour ma deusième erreur, elle est toujours de type date mais
ficher .ctl
LOAD DATA
INFILE 'C:\dml_t_trains.csv'
TRUNCATE
INTO TABLE t_trains
FIELDS TERMINATED BY ';'
(TRAIN_ID "seq_t_trains.nextval" ,
DEPART_ID,
ARRIVEE_ID,
DATE_DEPART,
DATE_ARRIVEE,
DISTANCE,
PRIX CHAR NULLIF PRIX = 'NULL' "to_number(:PRIX,'9999999D99','NLS_NUMERIC_CHARACTERS= ''. ''')")
table:
CREATE TABLE T_TRAINS
(TRAIN_ID NUMBER(6),
DEPART_ID NUMBER(6),
ARRIVEE_ID NUMBER(6),
DATE_DEPART DATE,
DATE_ARRIVEE DATE,
DISTANCE NUMBER(6),
PRIX NUMBER(8,2));
Enregistrement 1 : Rejeté - Erreur sur table T_TRAINS, colonne DATE_DEPART.
ORA-01830: Le modèle du format de date se termine avant la conversion de la chaîne d'entrée entière
Mon .csv:
seq_t_trains.nextval;16;1;21/11/05 09:00;21/11/05 12:00;482;120.5
seq_t_trains.nextval;1;16;21/11/05 14:30;21/11/05 17:30;482;120.5
Merci de me dire si vous trouver quelque chose de louche,
A voir également:
- Ora-01830: le modèle du format de date se termine avant la conversion de la chaîne d'entrée entière
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Je commence la nuit et je termine le matin ✓ - Forum Loisirs / Divertissements
- Hp usb disk storage format tool - Télécharger - Stockage
- Format apfs - Guide
3 réponses
Bonjour Hellreaper,
On va commencer par la seconde erreur (ORA-1830)
Ton format de date est, si j'en crois nos récents échanges: DD/MM/RR
soit:
• Numero du jour dans le mois (DD)
• Numero du mois (MM)
• Numero de l'année sur deux positions (RR)
Tes dates en entrée (ex: 21/11/05 09:00) sont du format suivant:
• Numero du jour dans le mois (DD)
• Numero du mois (MM)
• Numero de l'année sur deux positions (RR)
• Numero de l'heure dans la journée (HH24) (ATTENTION, si elle sont sur 12 heure, utilise HH ou HH12 + AM ou PM)
• Numero de minute dans l'heure (MI)
soit:
On va commencer par la seconde erreur (ORA-1830)
Ton format de date est, si j'en crois nos récents échanges: DD/MM/RR
soit:
• Numero du jour dans le mois (DD)
• Numero du mois (MM)
• Numero de l'année sur deux positions (RR)
Tes dates en entrée (ex: 21/11/05 09:00) sont du format suivant:
• Numero du jour dans le mois (DD)
• Numero du mois (MM)
• Numero de l'année sur deux positions (RR)
• Numero de l'heure dans la journée (HH24) (ATTENTION, si elle sont sur 12 heure, utilise HH ou HH12 + AM ou PM)
• Numero de minute dans l'heure (MI)
soit:
DD/MM/RR HH24:MIIl te faut donc convertir tes dates, tout comme on a converti les nombres dans ton autre post.
LOAD DATA INFILE 'C:\dml_t_trains.csv' TRUNCATE INTO TABLE t_trains FIELDS TERMINATED BY ';' (TRAIN_ID "seq_t_trains.nextval" , DEPART_ID, ARRIVEE_ID, DATE_DEPART "to_date(:DATE_DEPART,'DD/MM/RR HH24:MI')", DATE_ARRIVEE "to_date(:DATE_ARRIVEE,'DD/MM/RR HH24:MI')", DISTANCE, PRIX CHAR NULLIF PRIX = 'NULL' "to_number(:PRIX,'9999999D99','NLS_NUMERIC_CHARACTERS= ''. ''')")