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 Oracle Discussion :

[SQLLoader] Number avec une virgule à la place du point


Sujet :

SQL Oracle

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 9
    Points : 5
    Points
    5
    Par défaut [SQLLoader] Number avec une virgule à la place du point
    Bonjour,

    Une question sur le SQLLoader : j'ai des number à charger, mais dans mon fichier csv ils sont au format avec une virgule entre la partie entière et la partie décimale.
    Du coup, le loader plante et me dit "invalid number" pour toutes les lignes.

    Y-a-t-il un moyen dans le fichier ctl de lui faire interpréter la virgule comme un point ?


    Voici le ctl et quelques lignes de mon fichier csv :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    load data 
    infile 04_TCONSTANTE_HISTO.csv
    into table TCONSTANTE_HISTO
    Append 
    fields terminated by ';'
    optionally enclosed by '"'
    TRAILING NULLCOLS (
       CON_ID, 
       COH_DATE DATE "DD/MM/RRRR", 
       COH_VALEUR
    )
    1;01/11/2004;0,6700000000
    2;01/11/2004;30,0000000000
    3;01/11/2004;8,3300000000
    4;01/11/2004;1,0000000000


    Rq : En mettant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COH_VALEUR "TO_NUMBER :COH_VALEUR,'9999999999D0000000000')"
    dans mon ctl, cela n'arrange pas les choses.



    Merci

  2. #2
    Membre confirmé
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Points : 562
    Points
    562
    Par défaut
    De mémoire : En Positionnant la variable NLS_NUMERIC_CHARACTERS cela devrait pouvoir t'aider
    Signé : Capitaine Jean-Luc Picard

  3. #3
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    sous sys
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Create or replace trigger global_nls_session_settings after logon on database
    Begin
    execute immediate 'alter session set nls_numeric_characters=",."';
    end;

  4. #4
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    http://www.developpez.net/forums/vie...ghlight=loader

    Sous SQL*Loader, il faut utiliser le paramètre CHARACTERSET dans le fichier de contrôle.
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

Discussions similaires

  1. Décimale avec des virgules à la place des points
    Par huître dans le forum SAS Base
    Réponses: 4
    Dernier message: 22/06/2012, 13h44
  2. Réponses: 1
    Dernier message: 08/03/2009, 11h26
  3. mettre une virgule à la place d'un point
    Par michelle1000 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 05/10/2006, 07h29
  4. [Oracle 8.1] Transformer un numérique 33.3 en 33,3 AVEC UNE VIRGULE
    Par Fleur-Anne.Blain dans le forum Langage SQL
    Réponses: 11
    Dernier message: 04/08/2006, 15h31
  5. Float avec une virgule ?!
    Par yan dans le forum C++
    Réponses: 3
    Dernier message: 23/11/2005, 18h21

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