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

Import/Export Oracle Discussion :

excel et sqlploader


Sujet :

Import/Export Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    702
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 702
    Par défaut excel et sqlploader
    Bonjour a tous,
    je souhaite faire un load massif vers une base oracle 9i a partir d'un fichier excel. La premiere chose qui me vient a l'espris est sqlldr...a partir d'un csv crée avec l'excel...ok jusque la.

    Mais je dois ajouter une condition pour inserer une ligne, la condition est que un ou plusieurs champs doivent contenir une info, si c'est vide on insert pas.

    J'ai vue dans la liste des options de sqlldr ceci: discard
    qqu'un aurait un exemple de sintaxe avec cette option?

    d'avance merci

  2. #2
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Par défaut
    As tu un exemple de données ?

    Et dans ce données qu'est ce que tu veux avoir , rejeter ?

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    702
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 702
    Par défaut excel avec sqlldr
    Salut,
    oui j'ai cet exemple de données:

    ID_COURS;STATUS;ID_ELEVE;CAT1;CAT2;ID_PROF;AUTRE
    4784;ACCEPTÉ;0xxxxxxxx;E;1;0xxxxxxx;S

    et le filtre serait:
    Insert line IF ID_COURS NOT NULL AND ID_ELEVE NOT NULL

    qque chose comme ca...

    D'avance merci

  4. #4
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Par défaut
    si tu as un fichier de cotrole comme celui-ci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    LOAD DATA
    INFILE 'emp.csv'
    BADFILE 'emp.bad'
    DISCARDFILE 'emp.dsc'
    TRUNCATE into  table EMp_NEW
    FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
    (
    EMPNO, ENAME, JOB, MGR, HIREDATE DATE "DD/MM/YYYY" , SAL, COMM, DEPTNO
    )



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     sqlldr scott/tiger data=emp.csv control=emp_new.ctl   skip=1
    il va ecrire dans badfile et/ou discard ce qui n'est pas inséré.

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    702
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 702
    Par défaut import excel avec sqlldr
    Salut
    alors oui j'ai ce fichier de control:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    load data
     infile 'c:\luis\file.csv'
     truncate into table luis
     fields terminated by ";"
     (champs1, champs2, champs3....champsn)
    ca marche bien...mais en fait je voudrais faire un filtre avec ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    load data
     infile 'c:\luis\file.csv'
     truncate into table luis
     WHEN champs1 <> NULL
     fields terminated by ";"
     (champs1, champs2, champs3....champsn)
    pour inserer seulement ceux qui ont une valeur au champ1 et pas les autres, tu vois? tu crois que c'est possible?

  6. #6
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    702
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 702
    Par défaut excel to oracle sqlldr
    Ca marche les gars !!!! jejejeej
    en fait il faut mettre la valeur de la condition entre single quote et rediriger les non conformes dans un discard file:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    load data
     infile 'c:\luis\fichier.csv'
     DISCARDFILE 'c:\luis\files.dsc'
     APPEND
     into table luis
     WHEN champs1 != 'NULL'
     fields terminated by ";"
     (chamsp1, champs2.....champsn)
    Encore merci

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

Discussions similaires

  1. [VB6] [Excel] Résultat d'une requete ds une feuille
    Par elifqaoui dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 07/01/2003, 17h52
  2. [VBA-E] [Excel] Filtrer le donnees d'une sheet
    Par donia dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/09/2002, 10h55
  3. [Kylix] kylix et excel
    Par gothe dans le forum EDI
    Réponses: 1
    Dernier message: 19/09/2002, 19h44
  4. Réponses: 2
    Dernier message: 22/07/2002, 12h13
  5. [Kylix] Excel via kylix
    Par Billy joel dans le forum EDI
    Réponses: 1
    Dernier message: 23/05/2002, 11h57

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