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 :

Chargement de DATE dans Oracle 10g


Sujet :

SQL*Loader Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 79
    Par défaut Chargement de DATE dans Oracle 10g
    Bonjour à tous,

    Après avoir lu les différents tuto, je n'arrive pas à résoudre mon problème.
    J'essaie de charger un fichier plat dans ma base avec SQL Loader, jusque là rien de bien compliqué. Tout fonctionne parfaitement sauf pour les dates.

    J'explique :
    J'ai construit mon fichier de contrôle comme suit :
    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
     LOAD DATA INFILE 'unite.txt'
    TRUNCATE 
    INTO TABLE UNITE
     
    FIELDS TERMINATED BY ';'
    OPTIONALLY ENCLOSED BY '"' AND '"' 
    TRAILING NULLCOLS
    (
    CODE_UNITE, 
    CODE, 
    LIBELLE, 
    SIGLE, 
    DEPT, 
    DATE_DEB "to_date(:DATE_DEB, 'yyyy/mm/dd')", 
    DATE_FIN "to_date(:DATE_FIN, 'yyyy/mm/dd')"
    )
    Mon fichier à charger se présente comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "657";"MAI";"blablablabla";"GS";"57";"2008-01-01";"2008-03-01"
    Je passe par le wizard de TOAD qui me renvoie à chaque fois l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    enregistrement 1 : Rejeté - Erreur sur table UNITE, colonne DATE_DEB.
    ORA-01861 : liteal does not match format string
    Ma table est bien définie avec une date, je pense utiliser la bonne fonction... Bref je suis un peu perdue et n'arrive pas à trouver de solution.
    Est-ce que qulequ'un peut me dire où j'ai fait une erreur ?

    Merci par avance
    @++
    Darcy

  2. #2
    Membre Expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Par défaut
    DATE_DEB "to_date(: DATE_DEB, 'yyyy/mm/dd')",
    "2008-01-01"
    ORA-01861 : liteal does NOT match format string

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 79
    Par défaut
    Bonjour,

    Ca ne change strictement rien !!
    En plus, lorsque je vérifie mon fichier ctl après exécution du wizard, le code qui définit le format de date a disparu.

    Est-ce normal avec TOAD ? Comment faire pour qu'il utilise réellement le fichier mis en place et pas un fichier qu'il "construirait" lui-même ?

    Merci
    Darcy

  4. #4
    Membre Expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Par défaut
    D'où sort Toad ????

    donnez-nous un jeu d'essai complet (create table, parfile + data)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 79
    Par défaut
    Et bien, j'utilise TOAD pour faire le chargement !
    Il y a un SQL*Loader Wizard qui fonctionne plutôt bien, sauf dans mon cas pour les DATEs

    Alors pour le jeu d'essai :
    Create table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    CREATE TABLE UNITE
    (
      CODE_UNITE  NUMBER(3),
      CODE        VARCHAR2(5 BYTE),
      LIBELLE     VARCHAR2(164 BYTE),
      SIGLE       VARCHAR2(3 BYTE),
      DPT         NUMBER(2),
      DATE_DEB    DATE,
      DATE_FIN    DATE
    )
    Le fichier .ctl :
    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
     
    LOAD DATA INFILE 'unite.txt'
    TRUNCATE
    INTO TABLE unite
    FIELDS TERMINATED BY ';'
     OPTIONALLY ENCLOSED BY '"' AND '"'
    TRAILING NULLCOLS
     
      (CODE_UNITE, 
       CODE, 
       LIBELLE, 
       SIGLE, 
       DPT, 
       DATE_DEB "to_date(:DATE_DEB, 'yyyy-mm-dd')",
       DATE_FIN "to_date(:DATE_FIN, 'yyyy-mm-dd')"
    )
    Le fichier DATA : unite.txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    "657";"MAI";"MAITRISE DES RISQUES, AUDIT, INSPECTION";"GS";"52";"2006-04-01";""
    "342";"MAMRF";"L14-ORIGINE MRF";"USP";"35";"2003-04-01";""
    "305";"L5-S";"MES-LIGNE 5";"UO";"31";"2001-01-01";""
    Je crois que c'est tout...Sinon, j'envoie d'autres infos.

    Merci
    Darcy

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 79
    Par défaut contournement
    Finalement, j'utilise Data Importer dans TOAD qui gère à la perfection les formats de date entre le fichier à importer et la base de données !

    @++
    Darcy

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

Discussions similaires

  1. Comment changer le format de DATE dans Oracle
    Par khanfir dans le forum Oracle
    Réponses: 3
    Dernier message: 20/04/2010, 19h55
  2. Data Guard dans Oracle 10g
    Par magnito dans le forum Administration
    Réponses: 3
    Dernier message: 30/04/2007, 15h31
  3. Intégrer base de test SQL Server dans Oracle 10g
    Par tedparker dans le forum Oracle
    Réponses: 3
    Dernier message: 10/01/2007, 15h03
  4. Format Date dans Oracle :(
    Par uzumaki_naruto dans le forum Oracle
    Réponses: 3
    Dernier message: 25/08/2006, 15h45
  5. creer une nouvelle base dans oracle 10g
    Par clement42 dans le forum Oracle
    Réponses: 4
    Dernier message: 02/05/2006, 18h20

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