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 Oracle Discussion :

[SQL*Loader] ORA-01830 problème de date


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 33
    Par défaut [SQL*Loader] ORA-01830 problème de date
    Bonjour à tous !

    Je suis en train de m'arracher les cheveux avec SQLLoader :
    J'essaie d'insérer un fichier CSV dans une table dont une colonne est de type date.
    Or j'obtiens l'erreur :
    ORA-01830: date format picture ends before converting entire input string

    Voila une ligne :
    12116;JUR;10/05/2007 18:05:06;1

    et voila le fichier de controle :

    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
    LOAD DATA
    INFILE 'C:\sqlldr\import.csv'
    BADFILE 'C:\sqlldr\import.bad'
    DISCARDFILE 'C:\sqlldr\import.dsc'
     
    APPEND
    INTO TABLE "TSMF7B"
    APPEND
     
    FIELDS TERMINATED BY ';'
    TRAILING NULLCOLS
      (
       NOMEP,
       CDMEM,
       DAFZT Date "DD/MM/YYYY HH24:MI:SS",
       XQCIF
      )
    Pourtant, sur d'autres imports, mettre une date mais avec un format DD/MM/YYYY seulement, ca fonctionne ! Est-ce l'espace dans le masque qui pose problème ?

    Merci beaucoup !

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 500
    Par défaut
    Bonjour,

    Je pense qu'il faudrait que tu spécifies ton format, étant donné qu'il semble être différent de celui par défaut de ta base Oracle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DAFZT 'DD/MM/YYYY HH24:MI:SS',

  3. #3
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 33
    Par défaut
    Ouh la, euh, oui bien sur ! Je l'ai fait, mais j'ai fait du recopiage d'un autre PC, et j'ai oublié l'essentiel...
    J'edite tout de suite !

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 500
    Par défaut
    Ca c'est fort, tu peux modifier un message déjà posté !
    Ceux qui vont lire maintenant vont se dire que j'ai pas l'air d'un con avec ma réponse...
    Si un modérateur passe par là, qu'il prenne en compte ma contestation sur ce genre de méthode !

    Du coup, je ne vois pas d'où viens ton problème...

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 178
    Par défaut
    Voici un exemple tiré de la documentation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    CREATE TABLE emp_load
     (first_name CHAR(15),
      last_name CHAR(20),
      hire_date CHAR(10),
      resume_file CHAR(500))
      ORGANIZATION EXTERNAL 
       (TYPE ORACLE_LOADER
        DEFAULT DIRECTORY ext_tab_dir
        ACCESS PARAMETERS (FIELDS TERMINATED BY ","
                            (first_name,
                             last_name,
                             hire_date CHAR(10) DATE_FORMAT DATE MASK "mm/dd/yyyy",
                             resume_file))
        LOCATION ('info.dat'));
    C'est pour une table externe mais le format de type ORACLE_LOADER, c'est à dire celui de SQL Loader. Ca semble être un problème de syntaxe...

    rbaraer

  6. #6
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 33
    Par défaut
    Merci rbaraer, mais je ne vois pas bien comment utiliser ton code...
    Le DATE_FORMAT n'est-il pas pour transformer une date en CHAR ?

    j'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DAFZT "To_Date(:DAFZT, 'DD/MM/YYYY HH24:MI:SS')",
    mais j'ai la meme erreur, et en essayant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DAFZT CHAR(19) DATE_FORMAT DATE MASK "DD/MM/YYYY HH24:MI:SS",
    J'ai une erreur de syntaxe...

    Je deviens fou !

Discussions similaires

  1. SQl LOADER: Problème de date
    Par claralavraie dans le forum SQL*Loader
    Réponses: 25
    Dernier message: 28/03/2017, 11h24
  2. Erreur ORA-01861 (problème de date)
    Par melleweb dans le forum SQL
    Réponses: 1
    Dernier message: 09/07/2007, 12h37
  3. [SQL] Transfert de données, problème de date
    Par Lydie12 dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 07/06/2007, 14h16
  4. [SQL*Loader] Fusionner 2 colonnes dates
    Par choubiroute dans le forum Oracle
    Réponses: 4
    Dernier message: 21/04/2005, 14h24
  5. Réponses: 4
    Dernier message: 10/06/2004, 18h05

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