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 :

Problème formattage avec sqlldr


Sujet :

SQL*Loader Oracle

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 137
    Par défaut Problème formattage avec sqlldr
    Bonjour,

    J'ai un fichier délimiter avec ; de 3 champs dont un est une date. Le format ressemble à ceci :

    User ID; Client ID; Creation Time;
    profilsix@si.com;510169216;20080219190936.000000Z

    Le probleme c'est le creation time. Comme vous pouvez voir c'est un format yyyymmddhhmiss.xxxxxx

    je veux utiliser un sqlldr du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    LOAD DATA 
    INFILE * 
    TRUNCATE 
    INTO TABLE MRKT_PORTEFOLIO_LDAP
     FIELDS TERMINATED BY ";" 
     TRAILING NULLCOLS
    (User_ID,
    client_id,
    creation date
    Donc j'ai 2 probleme, je veux loader le creation time dans un champs date en laissant tomber les chiffre apres le . j'avais penser faire un substr mais comment?

    et l'autre c'est qu'il me dit que les heures doivent etre entre 1 et 12... mais moi c'est du 24h... j'imagine qu'en lui spécifaint le format... je vais pouvoir lui spécifier que c'est du 24...

    j'ai essayer plusieurs choses et ca ne marche pas... pouvez vous m'aider svp

    merci

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Par défaut
    Salut,
    Pour le problème de l'affichage des heures sur 24, je crois qu'il faut ecrire ta ligne comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    creation DATE 'YYYYMMDDhh24miss'
    J'ai jamais testé ceci dit.

  3. #3
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 137
    Par défaut
    J'ai essayer de mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    creation date "TO_DATE(substr(:creation,1,14), "YYYYMMDDhh24")"
    ca ne marche pas non plus... j'ai regarder la doc applying sql... mais y a pas le cas que je cherche.

    Je ne dois pas etre loin avec ca... non?

  5. #5
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 952
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 952
    Par défaut
    Salut,

    Essaie comme ça plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    LOAD DATA INFILE * 
    TRUNCATE 
    INTO table MRKT_PORTEFOLIO_LDAP
     FIELDS TERMINATED BY ";" 
     TRAILING NULLCOLS
    (User_ID,
    client_id,
    creation "TO_DATE(substr(:creation,1,14), 'YYYYMMDDhh24miss')")

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 137
    Par défaut
    ca ne fonctionne pas

    j'ai essayer quelques chose comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    creation date "YYYYMMDD" "substr(:creation,1,8)"
    Record 2: Rejected - Error on table MRKT_PORTEFOLIO_LDAP, column CREATION.
    ORA-01830: date format picture ends before converting entire input string

    c'est comme si il ne faisait pas le substr... ca vous dit quelques choses?

  7. #7
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 952
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 952
    Par défaut
    Quel est le nom de ta colonne?
    creation, creation_date?
    Ne me dis pas que c'est "creation date", au quel cas utilise des double quote pour l'identifier (pas tester mais je pense que ça doit marcher)

    Le format de la date doit être écrit entre single quote.

  8. #8
    Membre émérite Avatar de Z3phur
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2007
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 680
    Par défaut
    Oui c'est bizarre car avec cette syntaxe cela marche très bien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    LOAD DATA 
    -- Integration données de la table artisan
    INFILE 'D:\TESTS\table1.txt'
    TRUNCATE
    INTO TABLE TABLE1
    FIELDS TERMINATED BY ";" 
     TRAILING NULLCOLS
    (
    USER_ID,
    CLIENT_ID,
    CREATE_DATE "TO_DATE(substr(:create_date,1,14), 'YYYYMMDDhh24miss')"
    )

  9. #9
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 137
    Par défaut
    merci ca marche maintenant... je crois que je m'entetais à mettre un type date à ma colonne...

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/07/2013, 14h20
  2. Problème avec sqlldr
    Par sws2008 dans le forum SQL*Loader
    Réponses: 5
    Dernier message: 02/01/2009, 18h55
  3. Problème avec sqlldr
    Par Darcynette dans le forum SQL*Loader
    Réponses: 3
    Dernier message: 12/08/2008, 17h52
  4. problème avec sqlldr
    Par wolfazer dans le forum Débuter
    Réponses: 7
    Dernier message: 19/02/2008, 14h47
  5. Problème avec sqlldr
    Par arezki76 dans le forum SQL
    Réponses: 5
    Dernier message: 29/10/2007, 16h02

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