IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Outils Oracle Discussion :

SQL*Loader - Problème de chargement [Erreur sur un NUMBER]


Sujet :

Outils Oracle

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2004
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 61
    Points : 72
    Points
    72
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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


  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    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

  3. #3
    Invité
    Invité(e)
    Par défaut
    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.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Août 2004
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 61
    Points : 72
    Points
    72
    Par défaut
    voila les paramètre NLS

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 :/

  5. #5
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    NLS_CURRENCY ¿
    NLS_DUAL_CURRENCY ¿
    t'aurais pas comme un soucis sur le poste client

  6. #6

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Août 2004
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 61
    Points : 72
    Points
    72
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Record 1: Rejected - Error on table CREDIT.
    ORA-12702: invalid NLS parameter string used in SQL function

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Août 2004
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 61
    Points : 72
    Points
    72
    Par défaut
    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 ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. SQl LOADER: Problème de date
    Par claralavraie dans le forum SQL*Loader
    Réponses: 25
    Dernier message: 28/03/2017, 11h24
  2. Réponses: 19
    Dernier message: 18/12/2007, 16h07
  3. [SQL*LOADER] Problème contrainte
    Par Spyco dans le forum Oracle
    Réponses: 2
    Dernier message: 12/01/2006, 08h52
  4. [SQL*Loader] Problème de chargement de nombres
    Par sebduth dans le forum Oracle
    Réponses: 10
    Dernier message: 18/11/2005, 10h07
  5. Réponses: 4
    Dernier message: 10/06/2004, 18h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo