Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils
Outils Forum d'entraide sur les outils pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/03/2008, 14h20   #1
Nouveau Membre du Club
 
Inscription : août 2004
Messages : 57
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 57
Points : 36
Points : 36
Envoyer un message via ICQ à jeromek Envoyer un message via AIM à jeromek Envoyer un message via MSN à jeromek Envoyer un message via Yahoo à jeromek
Par défaut [Résolu]SQL*Loader - Problème de chargement [Erreur sur un NUMBER]

Bonjour à tous,
je suis confronté à un problème avec SQL*Loader sous oracle 10g, j'ai déjà testé pas mal de choses mais je suis toujours bloqué

J'ai une table :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
SQL> DESC credit;
 Name                                      NULL?    Type
 ----------------------------------------- -------- ----------------------------
 CRCLEUNIK                                 NOT NULL NUMBER
 RECLIDP                                            VARCHAR2(6)
 REDATDI                                            VARCHAR2(8)
 REPRODUIT                                          VARCHAR2(16)
 PRCODE                                             VARCHAR2(10)
 REVOL                                              NUMBER
 RENOMPRES                                          VARCHAR2(30)
 REINAPRES                                          VARCHAR2(11)
 RECLIUT                                            VARCHAR2(6)
 RERENDU                                            VARCHAR2(10)
 PRUNIFAC                                           NUMBER
 REPRIX                                             NUMBER(5,5)
 PRNOMEN                                            VARCHAR2(7)
 RENUMFAC                                           NUMBER
 REDATFAC                                           VARCHAR2(8)
 CRFLAG                                             VARCHAR2(1)
et mon fichier ctl

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
LOAD DATA
 INFILE './Credit.txt'
 TRUNCATE
 INTO TABLE credit
 FIELDS TERMINATED BY ';'
 TRAILING NULLCOLS
 (CRCLEUNIK ,
  RECLIDP ,
  REDATDI ,
  REPRODUIT ,
  PRCODE ,
  REVOL INTEGER,
  RENOMPRES ,
  REINAPRES ,
  RECLIUT ,
  RERENDU ,
  PRUNIFAC ,
  REPRIX ,
  PRNOMEN ,
  RENUMFAC INTEGER,
  REDATFAC ,
  CRFLAG 
 )
Exemple du fichier csv :

Code :
1
2
3
4
5
 
1;ST;20122005;=B00630569424900;=<E4080VB0;5;DEVOS PHILIPPE;16755462100;MLCHST;;5;210.5;752/500;9;20051231;*;
2;ST;18122005;=B01430540019500;=<E3846V00;245;FILLET GEORGES;16240966580;MLCHST;;1;92.42;752-463;9;20051231;*;
3;ST;19122005;=B01430540023200;=<E3846V00;258;MATUS GEOFFREY;16759026058;MLCHST;;1;92.42;752-463;9;20051231;*;
4;ST;20122005;=B01430540023500;=<E3846V00;245;LAURENT PASCAL;16573439100;MLCWAU;;1;92.42;752-463;16;20051231;*;
et j'ai toujours une erreur invalid number sur la colonne REPRIX,
j'ai également essayé avec DECIMAL(5,5) ou DECIMAL EXTERNAL mais rien n'y fait

jeromek est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2008, 14h31   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
c'est probablement le . qui pose problème, vérifie les paramètres NLS : http://fadace.developpez.com/oracle/nls/

vérifie le badfile aussi
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2008, 14h34   #3
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 523
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 523
Points : 3 975
Points : 3 975
est-ce que le séparateur sous oracle est le même que dans ton fichier . ou ,

paramètre NLS_NUMERIC_CHARACTERS de la bd.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2008, 14h43   #4
Nouveau Membre du Club
 
Inscription : août 2004
Messages : 57
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 57
Points : 36
Points : 36
Envoyer un message via ICQ à jeromek Envoyer un message via AIM à jeromek Envoyer un message via MSN à jeromek Envoyer un message via Yahoo à jeromek
voila les paramètre NLS

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
SQL> SELECT * FROM NLS_SESSION_PARAMETERS;
 
PARAMETER                      VALUE
------------------------------ ----------------------------------------
NLS_LANGUAGE                   FRENCH
NLS_TERRITORY                  FRANCE
NLS_CURRENCY                   ¿
NLS_ISO_CURRENCY               FRANCE
NLS_NUMERIC_CHARACTERS         ,
NLS_CALENDAR                   GREGORIAN
NLS_DATE_FORMAT                DD/MM/RR
NLS_DATE_LANGUAGE              FRENCH
NLS_SORT                       FRENCH
NLS_TIME_FORMAT                HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT           DD/MM/RR HH24:MI:SSXFF
 
PARAMETER                      VALUE
------------------------------ ----------------------------------------
NLS_TIME_TZ_FORMAT             HH24:MI:SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT        DD/MM/RR HH24:MI:SSXFF TZR
NLS_DUAL_CURRENCY              ¿
NLS_COMP                       BINARY
NLS_LENGTH_SEMANTICS           BYTE
NLS_NCHAR_CONV_EXCP            FALSE
 
17 rows selected.
je pensais que les paramèetre NLS n'influancait que l'affichage

mais on ne peux pas faire d'alter session dans le fichier de controle :/
jeromek est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2008, 14h50   #5
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Citation:
NLS_CURRENCY ¿
NLS_DUAL_CURRENCY ¿
t'aurais pas comme un soucis sur le poste client
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2008, 16h22   #6
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 523
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 523
Points : 3 975
Points : 3 975

http://www.developpez.net/forums/sho...d.php?t=192911
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2008, 08h27   #7
Nouveau Membre du Club
 
Inscription : août 2004
Messages : 57
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 57
Points : 36
Points : 36
Envoyer un message via ICQ à jeromek Envoyer un message via AIM à jeromek Envoyer un message via MSN à jeromek Envoyer un message via Yahoo à jeromek
J'ai utilisé le client sqlplus installé sur la machine hebergant le serveur de base de données ..... le serveur serait mal configuré ? (à noter qu'avec des insert ca marche, mais pas avec sql*loader.

J'ai testé le TO_NUMBER dans le topic posté par jerome_mtl mais ca passe pas :

Code :
1
2
3
 
Record 1: Rejected - Error ON TABLE CREDIT.
ORA-12702: invalid NLS parameter string used IN SQL FUNCTION
jeromek est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2008, 14h31   #8
Nouveau Membre du Club
 
Inscription : août 2004
Messages : 57
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 57
Points : 36
Points : 36
Envoyer un message via ICQ à jeromek Envoyer un message via AIM à jeromek Envoyer un message via MSN à jeromek Envoyer un message via Yahoo à jeromek
il manquait le H de CHARACTERS

ca passe, mais une question subsidiaire avant de tagger ce topic résolu : lorsque j'affiche les données avec sql developer ou dans sql plus, la virgule décimale apparaît dans les résultats, la virgule est elle stockée dans la base de données ou bien y a t'il une transformation grâce aux paramètres NLS ?
jeromek est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h03.


 
 
 
 
Partenaires

Hébergement Web