sql loader erreur avec .nextval - SQL/NoSQL - Programmation
Marsh Posté le 19-02-2008 à 17:17:11
t'as quoi dans le log?
Marsh Posté le 19-02-2008 à 17:47:29
Voici le ficher de log mais je crois que mon erreur n'est pas le .nextval mais dans ma colonne prix car j'ai des prix avec des virgules.
or j'ai pour tant bien crée ma table non?
SQL*Loader: Release 10.2.0.1.0 - Production on Mar. Févr. 19 17:42:58 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Fichier de contrôle : c:\dml_t_abo.ctl
Fichier de données : C:\dmlres.csv
Fichier BAD : c:\dmlres.bad
Fichier DISCARD : aucune spécification
(Allouer tous les rebuts)
Nombre à charger : ALL
Nombre à sauter: 0
Erreurs permises: 50
Tableau de liens : 64 lignes, maximum de 256000 octets
Continuation : aucune spécification
Chemin utilisé: Classique
Table DMLRES, chargé à partir de chaque enregistrement physique.
Option d'insertion en vigueur pour cette table : TRUNCATE
Nom de colonne Position Long. Séparat. Encadrem. Type de données
------------------------------ ---------- ----- ---- ---- ---------------------
RESERVATION_ID FIRST * ; CHARACTER
chaîne SQL pour la colonne : "seq_t_reservations.nextval"
EMPLOYEE_ID NEXT * ; CHARACTER
DATE_CREATION NEXT * ; CHARACTER
TYPE_PAIEMENT NEXT * ; CHARACTER
PRIX NEXT * ; CHARACTER
ACHETEUR_ID NEXT * ; CHARACTER
Enregistrement 1 : Rejeté - Erreur sur table DMLRES, colonne PRIX.
ORA-01722: Nombre non valide
.....
Marsh Posté le 19-02-2008 à 17:48:15
Il attend probablement des points à la place des virgules.
Marsh Posté le 20-02-2008 à 09:50:15
Voici mon ficher dmlres.csv si sa peut vous aider pour m'aider a trouver quesque je fait de faux :
seq_t_reservations.nextval;9;05/11/2005;CB;289.2;1
seq_t_reservations.nextval;7;03/11/2005;Cheque;165.5;6
seq_t_reservations.nextval;4;29/10/2005;CB;588.4;23
seq_t_reservations.nextval;7;25/10/2005;Espece;257.4;57
seq_t_reservations.nextval;7;02/11/2005;CB;175;72
seq_t_reservations.nextval;7;23/10/2005;Cheque;225;65
seq_t_reservations.nextval;7;15/10/2005;Cheque;37.12;68
seq_t_reservations.nextval;3;05/11/2005;CB;948.64;60
seq_t_reservations.nextval;3;05/11/2005;Cheque;57;80
seq_t_reservations.nextval;11;05/11/2005;Cheque;202.5;67
seq_t_reservations.nextval;11;05/11/2005;CB;202.5;73
seq_t_reservations.nextval;12;05/11/2005;CB;214.5;62
Marsh Posté le 20-02-2008 à 09:52:52
tu as essayé de substituer des virgules aux points dans ton fichier, ou l'inverse?
Marsh Posté le 19-02-2008 à 17:13:41
Bonjour,
Mon problème est que je n'arrive pas a importer mais ficher correctement,
Donc voici la table ke j'ai crée:
CREATE TABLE dmlres
(RESERVATION_ID NUMBER(6),
EMPLOYEE_ID NUMBER(6),
DATE_CREATION DATE,
TYPE_PAIEMENT VARCHAR2(30),
PRIX NUMBER(8,2),
ACHETEUR_ID NUMBER(6));
Voici mon ficher .ctl
LOAD DATA
INFILE 'C:\dmlres.csv'
TRUNCATE
INTO TABLE dmlres
FIELDS TERMINATED BY ';'
(RESERVATION_ID "db_seq.nextval" ,
EMPLOYEE_ID ,
DATE_CREATION,
TYPE_PAIEMENT,
PRIX ,
ACHETEUR_ID)
je crée ma sequence
CREATE SEQUENCE db_seq
START WITH 1
INCREMENT BY 1;
et je lance dans excuter cette commande:
sqlldr control=c:\dml_t_abo.ctl log=c:\log1.txt
Merci de me dire si vous trouver quelque chose de louche dans mon code merci,
---------------
Dell Inspiron 1720