SQL LOADER avec des paramètres

simodsio Messages postés 68 Statut Membre -  
jee pee Messages postés 31875 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 31875 Date d'inscription   Statut Modérateur Dernière intervention   9 977
     
    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 31875 Date d'inscription   Statut Modérateur Dernière intervention   9 977
     
    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