SQL LOADER avec des paramètres

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. Modérateur
    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. Modérateur
      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
      1. 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