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 :

[ORACLE 8.1.7] Insertion d'un number dans une Colonne DATE avec SQL LOADER


Sujet :

SQL*Loader Oracle

  1. #1
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Points : 92
    Points
    92
    Par défaut [ORACLE 8.1.7] Insertion d'un number dans une Colonne DATE avec SQL LOADER
    Bonjour,

    Dans mon fichier de controle de SQL LOADER, j'essaie avec tant mal que bien, de trouver le bon format pour inserer un nombre dans une colonne date.

    J'ai essayé différents format mais rien ne va. Le dernier en date :


    LCHHAPTPE "TO_DATE(:LCHHAPTPE,'HH24:MI')" POSITION(16:20),

    Merci de votre réponse.

  2. #2
    Membre actif
    Inscrit en
    Novembre 2004
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 312
    Points : 202
    Points
    202
    Par défaut
    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
     
    SQL> create table t1(col1 DATE);
     
    Table créée.
     
    SQL> insert into t1 
      2  select to_date(1640, 'HH24MI') from dual;
     
    1 ligne créée.
     
    SQL> select col1 from t1;
     
    COL1
    --------
    01/08/06
     
    SQL> select to_char(col1, 'DD-MON-YY HH24:MI:SS') from t1;
     
    TO_CHAR(COL1,'DD-M
    ------------------
    01-AOU-06 16:40:00

  3. #3
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Points : 92
    Points
    92
    Par défaut
    Bonjour davy.g,

    Ok pour cela pas de probleme.

    Je viens de resoudre provisoirement mon souci en mettant dans mon fichier de controle de SQLLOADER: LCHHAPTPE POSITION(16:20) "TO_DATE(:LCHHAPTPE,'HH24:MI')".

    par contre, dans le fichier .log, j'ai l'erreur suivante :

    Record 2: Rejected - Error on table CHQLCHTPE, column LCHHAPTPE.
    ORA-01861: literal does not match format string

    Record 3: Rejected - Error on table CHQLCHTPE, column LCHHAPTPE.
    ORA-01861: literal does not match format string

  4. #4
    Membre actif
    Inscrit en
    Novembre 2004
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 312
    Points : 202
    Points
    202
    Par défaut
    Quelle est le type de ta colonne dans ta table et un exemple de valeur de ton fichier ?

  5. #5
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Points : 92
    Points
    92
    Par défaut
    Citation Envoyé par davy.g
    Quelle est le type de ta colonne dans ta table ?
    date

  6. #6
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 33
    Points : 40
    Points
    40
    Par défaut
    bonjour,
    mon cher tu n'as pas le choix entre les format il faut utilisé le format correspondant aux données dans ton fichier.
    exemple: une ligne contient "A1020060809223499999999"
    la date commence de la position 4,la solution dans ce cas est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CHAMP_DATE      POSITION( 4:15 ) "TO_DATE(:CHAMP_DATE,'YYYYMMDDHH24MI')"
    par contre si la ligne était "A102006/08/0922:3499999999" (des / comme séparateur de date et : comme séparateur des heures)
    la solution sera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CHAMP_DATE      POSITION( 4:18 ) "TO_DATE(:CHAMP_DATE,'YYYY/MM/DDHH24:MI')"
    j espère que j'ai pas tors ,bon courage.

  7. #7
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Points : 92
    Points
    92
    Par défaut
    Merci à Hadlak et davy.g.

    La derniere reponse est la bonne effectivement.

    Il faut mettre la condition après la position.

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

Discussions similaires

  1. [Elementum] Insertion de valeurs nulles dans une colonne numérique d'un table
    Par cquilgars dans le forum Autres outils décisionnels
    Réponses: 2
    Dernier message: 17/07/2012, 11h50
  2. insertion des valeurs checkbox dans une colonne
    Par ronze dans le forum Langage
    Réponses: 0
    Dernier message: 23/06/2011, 16h33
  3. [ODBC] Insertion d'un fichier dans une base oracle 8i via ODBC
    Par garfield_fr dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 09/12/2010, 09h58
  4. Insertion d'un .exe dans une colonne BLOB
    Par manubestofplus dans le forum Débuter
    Réponses: 2
    Dernier message: 25/04/2009, 11h50
  5. Insertion des fichiers pdf dans une base oracle
    Par arezki76 dans le forum SQL
    Réponses: 2
    Dernier message: 20/07/2007, 16h39

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