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 :

Control file : ne pas spécifier les champs


Sujet :

Import/Export Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 4
    Par défaut Control file : ne pas spécifier les champs
    Bonjour à tous,

    Je souhaite intégrer des fichiers plats csv dans une table oracle par sql*loader. J'ai donc un fichier control de ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    LOAD DATA INFILE 'fichier.csv'
    REPLACE
    INTO TABLE NOMTABLE
    FIELDS TERMINATED BY ';'
    OPTIONALLY ENCLOSED BY '"'
    Mon souci est le suivant : j'aimerai ne pas avoir à spécifier les champs cible de la table. sql*loader prendrait ainsi les champs dans l'ordre des colonnes du fichier.
    Apparemment sql*loader ne sait pas gérer ceci ? Pourtant on retrouve ceci dans d'autres bases comme DB2 (db2 IMPORT FROM DATA .....) ou même mysql.

    Pouvez-vous me confirmer si c'est définitivement impossible ou s'il y a peut-être d'autres moyens pour y parvenir ?
    Sinon si je dois me coltiner la description de toutes les colonnes, je n'ai pas fini.... (migration massive de centaines de tables d'un autre SGBD vers oracle).

    Merci !

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    il ne me semble pas que les colonnes soit obligatoire si tu utilises un délimiteur de champ ... il renseignera les colonnes dans l'ordre dans lequel elles sont dans la table.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 4
    Par défaut
    Voici l'erreur qui survient ci je fais la commande de mon premier post :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SQL*Loader: Release 11.1.0.6.0 - Production on Fri Jul 11 10:59:23 2008
     
    Copyright (c) 1982, 2007, Oracle.  All rights reserved.
     
    SQL*Loader-350: Syntax error at line 5.
    Expecting "(", found end of file.

  4. #4
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    il n'y a pas de parenthèse dans le ctl que tu as donné

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 4
    Par défaut
    Si j'ajoute des parenthèses :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    LOAD DATA INFILE 'fichier.csv'
    REPLACE
    INTO TABLE NOMTABLE
    FIELDS TERMINATED BY ';'
    OPTIONALLY ENCLOSED BY '"'
    ()
    il me réclame les noms de colonnes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SQL*Loader: Release 11.1.0.6.0 - Production on Fri Jul 11 11:19:06 2008
     
    Copyright (c) 1982, 2007, Oracle.  All rights reserved.
     
    SQL*Loader-350: Syntax error at line 6.
    Expecting field-name, found ")".
    ()
    D'où mon idée que sqlldr oblige à spécifier les noms de champs.

  6. #6
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    au temps pour moi, les colonnes sont bien obligatoires

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/07/2013, 10h23
  2. [MySQL] mon select ne renvoie pas tous les champs
    Par dhonore dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 25/07/2011, 16h00
  3. [AC-2007] Ne pas imprimer les champs null
    Par toumack dans le forum IHM
    Réponses: 5
    Dernier message: 05/12/2009, 12h49
  4. [WD14] Fenêtre crée depuis modèle n'a pas tous les champs
    Par Pascal26 dans le forum WinDev
    Réponses: 1
    Dernier message: 18/08/2009, 16h04
  5. Réponses: 8
    Dernier message: 21/08/2007, 17h07

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