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 :

SQLLOADER - oracle 10g - ORA-12899 valeur trop grande pour la colonne


Sujet :

SQL*Loader Oracle

  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 58
    Par défaut SQLLOADER - oracle 10g - ORA-12899 valeur trop grande pour la colonne
    Bonjour,

    Mon pb:
    - La version debase oracle est 10g.
    - J'utilise SQLLOADER pour charger des fichiers CSV
    - Sur un fichier j'ai le message suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-12899: valeur trop grande pour la colonne "UTILISATEUR"."PRESTATION"."FONCTIONNEMENT" (réelle : 41, maximum : 30)
    Avec:
    - FONCTIONNEMENT VARCHAR2(30 byte)
    - données dans CSV:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DIVERSIFICATION;FONCTIONNEMENT               ;NUMEROREVISION
    ---------------;-----------------------------;--------------
                   ;                             ;    9999999999
                   ;                             ;    9999999999
    (j'ai épuré le CSV, d'autres colonnes sont avant et après ces 3 là)
    - SELECT vsize(' ') FROM dual;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    
    VSIZE('')
    ----------
            29

    - NLS_CHARACTERSET = AL32UTF8


    Je ne comprend pas, car mon champs FONCTIONNEMENT ne contient que des espaces..... ?

    Je rencontre ce pb sur d'autres champs vides du même csv

    Merci d'avance !

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Essayez d'insérer une partie plus petite de la donnée et vérifiez bien que vous avait le caractère espace avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select dump(<colonne>, 1017) from <table>;
    AL32UTF8 est un jeu de caractères multibyte: certains caractères utilisent 2, 3 ou 4 octets. Pour stocker 30 caractères (et non 30 octets), il faur déclarer les colonnes VARCHAR2 avec la sémantique caractère:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    VARCHAR2(30 char);
    Voir (entre autres) le Concepts Guide.

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 58
    Par défaut
    le résultat de
    SELECT dump(fonctionnement,1017) FROM prestation;
    est
    NULL pour chaque ligne .

    cela veut dire quoi ?

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Cela veut dire que la colonne contient la valeur nulle au sens SQL (NULL).

    Essayer de réduire la taille de la colonne dans le fichier pour 1 ligne pour que la chargement se passe sans erreur ou agrandissez la colonne de la table avec la sémantique caractère.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/04/2011, 17h15
  2. Oracle 8i vers Oracle 10g - ORA-01041
    Par fredenho dans le forum Oracle
    Réponses: 2
    Dernier message: 05/12/2006, 18h06
  3. [Oracle 10g] liste de valeurs sans doublons
    Par gojira dans le forum Langage SQL
    Réponses: 4
    Dernier message: 19/10/2006, 16h18
  4. Réponses: 1
    Dernier message: 08/02/2006, 12h43
  5. Oracle 10g : ORA-12545: Connect failed
    Par Tien dans le forum Oracle
    Réponses: 14
    Dernier message: 04/10/2005, 16h14

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