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 et les variables externes


Sujet :

SQL*Loader Oracle

Vue hybride

devdev2003 Sql Loader et les variables... 20/04/2006, 10h51
sygale 8O Non INTEGER EXTERNAL ca... 20/04/2006, 10h59
devdev2003 Merci pour votre aide, ... 20/04/2006, 11h16
sygale Si c'est une constante : ... 20/04/2006, 11h21
sygale Quelle genre de valeur veux... 20/04/2006, 11h21
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 74
    Par défaut Sql Loader et les variables externes
    Bonjour,

    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
     
    # more MON_FICHIER_DATA.ctl
     
    LOAD DATA
    APPEND
    INTO MA_TABLE
    (
      NOM         POSITION(20:40)       CHAR,
      PRENOM    POSITION(60:80)       CHAR,
      ID                                          INTEGER EXTERNAL,
    )
     
    // Ou la colonne "ID" tient ça valeur a partir d'une variable externe dynamic.
    ...
     
    ET dans mon scipt shell :
    # more load.sh
    ...
    sqlldr DATA=MON_FICHIER_DATA CONTROL=MON_FICHIER_DATA.ctl  
    ...
    Ma question :

    Comment peut on faire passer une valeur (ex : a partir du shell) à la colonne "ID" dans sql loader ?

    Merci

  2. #2
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Par défaut
    Non INTEGER EXTERNAL ca veux dire que c'est un nombre "externe"!
    Et que tu laisses sql loader convertir le champs de ton fichier en format connu pas ORACLE (type du champs de TABLE.ID dans ton exemple).

    cf http://www.ift.ulaval.ca/~agamache/p.../SQLloader.pdf page 5

    Tiens voici un doc bien faite http://www.orafaq.com/faqloadr.htm

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 74
    Par défaut
    Merci pour votre aide,

    Mais, je voudrais faire passer une valeur a sql loader, pour qu'elle soit loader dans la colonne "ID" de "MA_TABLE" via le script shell ?

  4. #4
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Par défaut
    Si c'est une constante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
      LOAD DATA
       INFILE *
       INTO TABLE modified_data
       (  rec_no                      "my_db_sequence.nextval",
          region                      CONSTANT '31',
          time_loaded                 "to_char(SYSDATE, 'HH24:MI')",
          data1        POSITION(1:5)  ":data1/100",
          data2        POSITION(6:15) "upper(:data2)",
          data3        POSITION(16:22)"to_date(:data3, 'YYMMDD')"
       )
       BEGINDATA
       11111AAAAAAAAAA991201
       22222BBBBBBBBBB990112

  5. #5
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Par défaut
    Citation Envoyé par sygale
    Si c'est une constante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
      LOAD DATA
       INFILE *
       INTO TABLE modified_data
       (  rec_no                      "my_db_sequence.nextval",
          region                      CONSTANT '31',
          time_loaded                 "to_char(SYSDATE, 'HH24:MI')",
          data1        POSITION(1:5)  ":data1/100",
          data2        POSITION(6:15) "upper(:data2)",
          data3        POSITION(16:22)"to_date(:data3, 'YYMMDD')"
       )
       BEGINDATA
       11111AAAAAAAAAA991201
       22222BBBBBBBBBB990112
    Quelle genre de valeur veux tu faire passer ?

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 74
    Par défaut
    sygale a écrit :

    Quelle genre de valeur veux tu faire passer ?
    une valeur dynamic (change a chaque execution du shell)

Discussions similaires

  1. SQL*Loader et les Varray
    Par Hykary dans le forum SQL*Loader
    Réponses: 0
    Dernier message: 11/10/2012, 17h07
  2. Petite explication sur les variables externes
    Par Ladgalen dans le forum Débuter
    Réponses: 10
    Dernier message: 15/10/2009, 14h41
  3. les variable extern sous linux
    Par sali lala dans le forum Linux
    Réponses: 3
    Dernier message: 03/05/2007, 10h12
  4. SQL*Loader : filtrer les données chargées
    Par gattaca dans le forum Oracle
    Réponses: 2
    Dernier message: 13/07/2006, 09h51
  5. SQL*LOADER rejet les chaines en accents
    Par bilalove dans le forum Oracle
    Réponses: 7
    Dernier message: 24/04/2006, 16h34

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