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 :

Format date - erreur ORA 01821


Sujet :

SQL*Loader Oracle

  1. #1
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 9
    Points : 3
    Points
    3
    Par défaut Format date - erreur ORA 01821
    Bonjour,

    Débutante en SQL*Loader, je suis confrontée à un problème de format de date dans mes fichiers de contrôle.

    Voici le premier fichier que j'avais :

    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
    options (skip=1)
    load data
    TRUNCATE
    INTO TABLE TXATRFR 
    FIELDS TERMINATED BY ';'
    TRAILING NULLCOLS
    (
    ARACEXR "substr(:ARACEXR, 1,6)",
    ARACEXVL "substr(:ARACEXR, 7,9)",
    LBGRPACH,
    DTFINRUP,
    LBDSPRUP,
    ORDSP,
    LBANE,
    LBTYPLIV,
    DTDEBRUP,
    DTMAJ sysdate
    )
    Il me renvoyait :
    Record x: Rejected - Error on table TXATRFR, column DTFINRUP
    ORA 01858: a non-numeric character was found when a numeric was expected

    (Avec x le numéro de toutes les lignes du fichier csv)

    J'ai donc modifié le champ DTFINRUP, un champ de date en ceci :

    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
    options (skip=1)
    load data
    TRUNCATE
    INTO TABLE TXATRFR 
    FIELDS TERMINATED BY ';'
    TRAILING NULLCOLS
    (
    ARACEXR "substr(:ARACEXR, 1,6)",
    ARACEXVL "substr(:ARACEXR, 7,9)",
    LBGRPACH,
    DTFINRUP DATE  "TO_DATE(:DTFINRUP, 'DD/MM/YYYY')",
    LBDSPRUP,
    ORDSP,
    LBANE,
    LBTYPLIV,
    DTDEBRUP,
    DTMAJ sysdate
    )
    Et là, nouvelle erreur :
    Erreur fatale de SQL*Loader ORA 01821: date format not recognized

    Après recherches diverses et variées, je suis tombée sur ça:

    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
    options (skip=1)
    load data
    TRUNCATE
    INTO TABLE TXATRFR 
    FIELDS TERMINATED BY ';'
    TRAILING NULLCOLS
    (
    ARACEXR "substr(:ARACEXR, 1,6)",
    ARACEXVL "substr(:ARACEXR, 7,9)",
    LBGRPACH,
    DTFINRUP EXPRESSION "TO_DATE(:DTFINRUP, 'DD/MM/YYYY')",
    LBDSPRUP,
    ORDSP,
    LBANE,
    LBTYPLIV,
    DTDEBRUP,
    DTMAJ sysdate
    )
    Troisième erreur :
    Record x: Rejected - Error on table TXATRFR
    ORA-01008: not all variables bound

    Bref, je suis paumée.

    Voici le format du fichier cvs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SIGMA/VL;Secteur;Date Fin;Cause Rupture;Rupture;;Flux;Date Début
    214603000;EPICERIE SALEE;31/12/2020;FRN - Rupture longue;1;0;;30/06/2011
    Avez-vous une idée de mon erreur ?

    Cordialement,

  2. #2
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Nouvel élément : quand je teste en remplaçant toutes les valeurs date par "sysdate", j'obtiens une table ressemblant à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ARACEXR     ARACEXVL     LBGRPACH              DTFINRUP,
    214603           000      31/12/2020     18 mai 2005 12:10:16
    J'en conclus donc qu'il y a un problème sur la fin de ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ARACEXVL "substr(:ARACEXR, 7,9)",
    Vous en pensez quoi ?

  3. #3
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Problème réglé. Pour info, il semblerait que le fait de séparer les valeurs de la première colonne ai "skippé" la troisième colonne.

    Ci-joint, le code fonctionnel.

    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
    options (skip=1)
    load data
    TRUNCATE
    INTO TABLE TXATRFR 
    FIELDS TERMINATED BY ';'
    TRAILING NULLCOLS
    (
    field1 BOUNDFILLER,
    field2 BOUNDFILLER,
    field3 BOUNDFILLER,
    field4 BOUNDFILLER,
    field5 BOUNDFILLER,
    field6 BOUNDFILLER,
    field7 BOUNDFILLER,
    field8 BOUNDFILLER,
    ARACEXR "substr(:field1, 1,6)",
    ARACEXVL "substr(:field1, 7,9)",
    LBGRPACH ":field2",
    DTFINRUP  "to_date(:field3,'DD/MM/YYYY')",
    LBDSPRUP ":field4",
    ORDSP ":field5",
    LBANE ":field6",
    LBTYPLIV ":field7",
    DTDEBRUP "to_date(:field8,'DD/MM/YYYY')",
    DTMAJ sysdate
    )

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

Discussions similaires

  1. Erreur : ORA-01821: format de date inconnu
    Par gaijinma dans le forum PL/SQL
    Réponses: 1
    Dernier message: 25/06/2010, 10h05
  2. format date : Erreur
    Par caballero dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/06/2007, 11h03
  3. Réponses: 2
    Dernier message: 02/12/2006, 09h00
  4. erreur de format date
    Par shinta dans le forum Access
    Réponses: 3
    Dernier message: 21/02/2006, 19h40
  5. [Format Date] erreur sur insertion d'une date
    Par philobedo dans le forum SQL
    Réponses: 4
    Dernier message: 14/06/2005, 10h41

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