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 :

Importer décimaux [10g]


Sujet :

SQL*Loader Oracle

  1. #1
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    mai 2004
    Messages
    860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : mai 2004
    Messages : 860
    Points : 880
    Points
    880
    Par défaut Importer décimaux
    Bonjour,
    j'essaie d'importer un fichier texte, avec séparateurs tabulation dans une table ORACLE.

    2 champs : Nom et prénom sont de type VARCHAR2, les autres champs sont de type NUMBER.

    Parmi les champs NUMBER, seul le champ MONTANT peut avoir des chiffres après la virgule.

    Dans le fichier texte, le séparateur décimal est un point.

    Voici mon fichier de contrôle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    load data
    infile 'MyFichierDePaiement_20130809.txt'
    replace
    into table MYTABLE
    FIELDS TERMINATED BY x'09'
    (
    	Caisse,
    	Num,
    	Nom,
    	Prenom,
    	Montant DECIMAL EXTERNAL,
    	Verif
    )
    J'obtiens le message d'erreur suivant à l'exécution de sqlldr :

    Enregistrement 1 : Rejeté - Erreur sur table MYTABLE, colonne MONTANT.
    ORA-01722: Nombre non valide
    Je ne sais pas comment mieux paramétrer mon fichier de contrôle.
    Si quelqu'un a une idée, je suis preneur.

    Merci.
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  2. #2
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    mai 2004
    Messages
    860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : mai 2004
    Messages : 860
    Points : 880
    Points
    880
    Par défaut
    J'ai trouvé la solution.

    J'ai converti les points en virgules dans le fichier de contrôle avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    load data
    infile 'MyFichierDePaiement_20130809.txt'
    replace
    into table MYTABLE
    FIELDS TERMINATED BY x'09'
    (
    	Caisse,
    	Num_Ps,
    	Nom,
    	Prenom,
    	Montant "REPLACE(:Montant,'.',',')",
    	Verif
    )
    Je ne pensais pas devoir le faire car le séparateur décimal de ma base Oracle était un point.
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

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

Discussions similaires

  1. Importation des nombres décimaux à virgule via COPY
    Par marcandre dans le forum Requêtes
    Réponses: 4
    Dernier message: 21/07/2014, 14h12
  2. Réponses: 2
    Dernier message: 07/02/2008, 14h53
  3. Importation de décimaux en runtime
    Par yves_fuji dans le forum Runtime
    Réponses: 5
    Dernier message: 14/12/2007, 09h08
  4. [PHP,MYSQL et CSV]Importation avec nombres décimaux
    Par m3n2o dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 20/06/2006, 11h47
  5. Importer des objets de 3dsMax
    Par Anonymous dans le forum OpenGL
    Réponses: 3
    Dernier message: 06/05/2002, 13h53

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