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 :

SQl LOADER: Problème de date


Sujet :

SQL*Loader Oracle

  1. #1
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    455
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 455
    Points : 166
    Points
    166
    Par défaut SQl LOADER: Problème de date
    Bonjour,
    dans mon sql loader, je récupère un champs dans un fichier plat qui est sous la forme yyyymmdd. Donc je veux le convertir en date dans mon sql loader mais cela ne fonctionne pas.
    Voic mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     DATE_SAISIE  POSITION(12:20) Date 'to_date(:Date_saisie, 'DD/MM/YYYY'
    Quelqu'un sait il comment faire?

  2. #2
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    oui c'est entre guillement (") et non entre côtes (') qu'il faut mettre la fonction

  3. #3
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Je te conseille vivement de lire (si ce n'est pas déjà fait l'excellent tuto de Jaouad) :
    http://jaouad.developpez.com/sqlldr/#LV-I

  4. #4
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    455
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 455
    Points : 166
    Points
    166
    Par défaut
    OK j'ai mis mon instruction entre guillemets mais j'ai toujours une erreur:
    syntax error near unexpected token ('..

  5. #5
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    LOAD DATA 
    INTO TABLE matable 
    (date_saisie POSITION (12:20) DATE "DD/MM/YYYY")

  6. #6
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    455
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 455
    Points : 166
    Points
    166
    Par défaut
    je viens d'essayer et maintenant j'ai l'erreur suivante:
    Expecting valid column specification, "," or ")", found "dd".
    DATE_SAISIE POSITION(12:20) DATE dd/mm/yyyy,
    ^
    l'accent circonflexe en dessous du N de position, indique t'ill'erreur?

  7. #7
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    455
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 455
    Points : 166
    Points
    166
    Par défaut
    non l'accent circonflexe est en dessous du dd

  8. #8
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    As-tu bien mis "dd/mm/yyyy" entre guillemets ?

  9. #9
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    455
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 455
    Points : 166
    Points
    166
    Par défaut
    oui j'ai bien mis les guillemets mais je ne sais pas pourquoi j'ai l'impression que quand j'execute mon sql loader il ne prend pas en compte ces guillemets.

  10. #10
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    455
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 455
    Points : 166
    Points
    166
    Par défaut
    OK j'ai trouvé...
    J'ai créé un fichier qui contient le corps de mon sql loader et là il a pris les guillemets en compte.
    Mais je ne sais pas pourquoi?

  11. #11
    Membre averti
    Inscrit en
    Novembre 2002
    Messages
    549
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 549
    Points : 436
    Points
    436
    Par défaut
    bonjour

    n'aurais tu pas oublier de spécifier le caractére de séparation de tes champs ?

    as tu bien par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    FIELDS TERMINATED BY ";" OPTIONALLY ENCLOSED BY '"'
    TRAILING NULLCOLS
    peux-tu poster :
    un exemple de ligne de chargement (si tu le peux)
    ton fichier de controle
    le script de création de ta table


    on pourra t'aider plus ainsi

  12. #12
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    455
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 455
    Points : 166
    Points
    166
    Par défaut
    Ah non apparemment je n'ai pas mis cela...donc tout s'expliqueriat alors?
    Voici mon sql loader:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    echo "LOAD DATA 
    INFILE '$ARRIVEE/fichier.txt' 
    APPEND INTO TABLE TABLE 
    {val1 POSITION(1:11)  CHAR 
    ,val2 POSITION(21:56) CHAR 
    ,DATE  POSITION(12:20) Date "DD/MM/YYYY')" 
    ,val3           POSITION(57:62) CHAR 
    ,val4      POSITION(74:82) CHAR 
    ,val5      POSITION(83:91) CHAR 
    ,IMG_PATH           ":val||'/'||:val4||'/'||:val1||'.TIF'" 
    } 
    "     >>$SRC_SQLLOADER/fichier.ctl 
     
    sqlload $BASE fichier.ctl;
    Voilà mon sql loader.
    Sauf que j'ai mis le corps dans un fichier séparé.

    Un ligne de chargement:
    00011111111;20051222;NOM_Personne ;15000; ;PA111111;PKA11111

    Mon fichier de controle?

  13. #13
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Oulalala ! Tu mélanges tout ! Préciser les positions c'est pour les fichiers à colonne de largeur fixe. Dans ton cas, il faut indiquer le séparateur de colonne comme te l'a indiqué Popol.

    Je te (re)conseille vivement de lire le tuto de Jaouad.

    Je ne sais pas si c'est le bon script que tu nous as indiqué, il est bourré de fautes.

  14. #14
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Citation Envoyé par claralavraie
    OK j'ai trouvé...
    J'ai créé un fichier qui contient le corps de mon sql loader et là il a pris les guillemets en compte.
    Mais je ne sais pas pourquoi?
    Je ne comprends pas tout ce que tu as voulu dire...

  15. #15
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    455
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 455
    Points : 166
    Points
    166
    Par défaut
    Non je ne peux pas indiquer le séparateur ; car j'ai des informations dont je ne me sert pas dont je ne me sers pas dans ce fichier.txt. c'est pour cela que j'utilise les positions.
    Pour ce qui est du code je le remets, j'ai du me tromper, excuse moi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    LOAD DATA
    INFILE '$rep/fichier.TXT' "
    INSERT INTO TABLE NOM_TABLE
    (VAL1 POSITION(1:11),
     VAL2  POSITION(21:56),
     DATE_SAISIE POSITION(13:20) DATE "yyyymmdd",
     VAL3           POSITION(57:62),
     VAL4 POSITION(74:82),
     VAL5 POSITION(83:91),
     VAL6      "246 " ,
     IMG_PATH  ":VAL6||'/'||:VAL3||'/'||:VAl1||'.TIF'")
    Ne faites pas attention au position, en recopiant le fichier j'ai enlevé certaines données

  16. #16
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Tes colonnes sont-elle de largeurs fixe pour toutes les lignes de ton fichier ?

    Si oui ton fichier de contrôle me semble correct.

  17. #17
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    455
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 455
    Points : 166
    Points
    166
    Par défaut
    oui mes lignes sont de largeurs fixes....

  18. #18
    Membre averti
    Inscrit en
    Novembre 2002
    Messages
    549
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 549
    Points : 436
    Points
    436
    Par défaut
    Citation Envoyé par plaineR
    comme te l'a indiqué Popol.
    c'est PpPool et pas Popol !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


  19. #19
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Milles excuses !!!! C'est une faute de frappe !!!
    Promis je ferais attention la prochaine fois.

  20. #20
    Membre averti
    Inscrit en
    Novembre 2002
    Messages
    549
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 549
    Points : 436
    Points
    436
    Par défaut
    Citation Envoyé par plaineR
    Milles excuses !!!! C'est une faute de frappe !!!
    Promis je ferais attention la prochaine fois.
    popol çà le fait moins !!!!!

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [SQL Loader] problème de retour chariot
    Par euphorix dans le forum SQL
    Réponses: 3
    Dernier message: 31/08/2006, 05h37
  2. SQL Loader : problème champ ID
    Par jnp87 dans le forum SQL*Loader
    Réponses: 15
    Dernier message: 16/08/2006, 15h44
  3. [SQL*LOADER] Problème contrainte
    Par Spyco dans le forum Oracle
    Réponses: 2
    Dernier message: 12/01/2006, 08h52
  4. [SQL*Loader] Problème de chargement de nombres
    Par sebduth dans le forum Oracle
    Réponses: 10
    Dernier message: 18/11/2005, 10h07
  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