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

SQL*Loader Oracle Discussion :

sqlldr et un décimal format francais


Sujet :

SQL*Loader Oracle

  1. #1
    Membre confirmé
    Homme Profil pro
    Chef de produit
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Chef de produit

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Par défaut sqlldr et un décimal format francais
    Bonjour,
    je veux mettre un fichier Plat sur ma base oracle.
    j'ai un fichier texte sous cette forme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    champs1;champs2;champs3;champs4;champs5
    3;Z;Z;0,879505424446072;Y
    3;Z;Z;0,879505424446072;Y
    3;Z;Z;0,879505424446072;Y
    3;Z;Z;0,879505424446072;Y
    le problème vient de mon décimal "champs4"
    j'ai essayé d'utiliser replace ou translate pour le mettre en format 99.99999999999
    ça n'a rien donné.
    Merci de votre aide.


    voila mon code sqlldr
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    load data
    infile 'monfichier.txt'
    append into table matable
    fields terminated by ";" 
    (champs1, 
    champs2,
    champs3,
    champs4,
    champs5
    )
    Voila ma commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlldr user/user control=sqlldr_control.ctl skip=1

    Voila ce qu'il y a dans mon fichier .log

    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
    27
    28
    29
    30
    31
    32
     
    SQL*Loader: Release 10.2.0.3.0 - Production on Mon Nov 9 16:12:36 2009
     
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
     
    Control File:   sqlldr_control.ctl
    Data File:      monfichier.txt
      Bad File:     monfichier.bad
      Discard File:  none specified
     
     (Allow all discards)
     
    Number to load: ALL
    Number to skip: 1
    Errors allowed: 50
    Bind array:     64 rows, maximum of 256000 bytes
    Continuation:    none specified
    Path used:      Conventional
     
    Table Matable, loaded from every logical record.
    Insert option in effect for this table: APPEND
     
       Column Name                  Position   Len  Term Encl Datatype
    ------------------------------ ---------- ----- ---- ---- ---------------------
     
     
    value used for ROWS parameter changed from 64 to 16
    Record 498: Rejected - Error on table Matable, column champs4.
    ORA-01722: invalid number
     
    Record 499: Rejected - Error on table Matable, column champs4.
    ORA-01722: invalid number

  2. #2
    Membre confirmé
    Homme Profil pro
    Chef de produit
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Chef de produit

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Par défaut
    Résolu
    pour ceux qui ont le meme problème
    pour le champs4 j'ai ajouté TO_NUMBER(:champs4 ,'99D999999999999999','NLS_NUMERIC_CHARACTERS='',.''')
    voila
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    LOAD DATA
    INFILE 'monfichier.txt'
    append INTO TABLE matable
    FIELDS terminated BY ";" 
    (champs1, 
    champs2,
    champs3,
    champs4 "TO_NUMBER(:champs4 ,'99D999999999999999','NLS_NUMERIC_CHARACTERS='',.''')",
    champs5
    )

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

Discussions similaires

  1. [MySQL] Faire un INSERT d'une date format Francais dans un champ date '0000-00-00' ?
    Par bilou95 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 20/11/2006, 13h49
  2. Format français date=>date MySQL
    Par john.dbc dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 25/08/2006, 13h28
  3. Chiffres au format francais avec espace
    Par catoucat dans le forum Access
    Réponses: 3
    Dernier message: 14/06/2006, 09h18
  4. forcer la date en format francais
    Par shinrei dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 17/05/2006, 10h38
  5. [SGBD] Convertir une donnée Date MYSQL en format Francais
    Par hillairet dans le forum Débuter
    Réponses: 4
    Dernier message: 28/09/2005, 15h06

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