SQL LOADER avec des paramètres

simodsio Messages postés 68 Statut Membre -  
jee pee Messages postés 31943 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J'aimerais créer un script qui lance le chargement de plusieurs fichiers plats dans les tables correspondant.

sqlldr user/user@DB direct=y control=$1 data=$2
bad=$3 discard= $4 log=$5

faut t'il créer une procedure pl/sql ( mais comment lancer sql loader dans pl ?) ou un script ksh ( que je connais pas trés bien)?

merci de me donner une petite lumière
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. jee pee Messages postés 31943 Date d'inscription   Statut Modérateur Dernière intervention   10 001
     
    C'est tout simple, tu fais un script qui lance un sqlplus qui génère le script final puis lance ce script généré par le sqlplus :
    # genere.ksh
    
    sqlplus -s user/user@DB <<finsql
    set space 0
    set pages 0
    set newpage 0
    set verify off
    set pause off
    set hea off
    set feedback off
    
    spool lance_charg.ksh
    
    select 'sqlldr user/user@DB direct=y control='||champ1||' data='||champ2||' bad='||champ3||' discard='||champ4||' log='||champ5 from table ;
    finsql
    
    ksh lance_charg.ksh
    
    

    1
  2. jee pee Messages postés 31943 Date d'inscription   Statut Modérateur Dernière intervention   10 001
     
    bonsoir,

    Pour réaliser ce que tu souhaites faire, c'est bien en ksh qu'il faut le faire (si tu est sous unix)

    cdt
    0
  3. simodsio Messages postés 68 Statut Membre
     
    merci

    mais y'as juste un petit truc que j'ai oublié de signaler c'est que les parametre vienne d'une table sql

    param 1=Table.champ
    param2= table.cham2
    ....

    et ca change la donne.

    avez vous uneidée

    voili voilo
    0