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

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 79
    Points : 68
    Points
    68
    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
    Points : 3 199
    Points
    3 199
    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 du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 79
    Points : 68
    Points
    68
    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
    Points : 3 199
    Points
    3 199
    Par défaut
    D'où sort Toad ????

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

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 79
    Points : 68
    Points
    68
    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 du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 79
    Points : 68
    Points
    68
    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