SQL LOADER avec des paramètres

Fermé
simodsio Messages postés 66 Date d'inscription mardi 31 janvier 2006 Statut Membre Dernière intervention 8 décembre 2009 - 12 août 2008 à 21:36
jee pee Messages postés 40983 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 1 avril 2025 - 13 août 2008 à 13:18
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
A voir également:

3 réponses

jee pee Messages postés 40983 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 1 avril 2025 9 574
13 août 2008 à 13:18
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
jee pee Messages postés 40983 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 1 avril 2025 9 574
12 août 2008 à 21:43
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
simodsio Messages postés 66 Date d'inscription mardi 31 janvier 2006 Statut Membre Dernière intervention 8 décembre 2009
13 août 2008 à 00:00
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