|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Futur Membre du Club
![]() Inscription : décembre 2006 Messages : 47 ![]() |
Bonjour,
J'ai écrit un sql*loader pour charger un fichier XML. J'ai un script Unix qui appelle mon .ctl. Mais comme mon fichier en entrée est un XML, j'ai un STR qui vient avec. D'autre part mon sql*loder est lancé par un programme. Mon problème est de passer mon STR au INFLE du point ctl tout en ayant un chemin dynamique. Détails : 1) Le point CTL : Code :
2) Unix Code :
Il reçoit entre autres le "fic" où le $fic_home varie selon les environnements. (DEV, TST, PORD). D'autre part le prg reçoit mon .CTL dans lequel je dois lui faire passer le STR. Autrement dit, lorsque j'exécute mon qui est le sqlldr, il prend le control file qui est . Ce dernier est mon point CTL. Seulement, comment je spécificie dans ce .CTL que mon chemin du INFILE doit être $fic_home et en plus d'avoir le Si j'arrive, je n'ai plus besoin du DATA dans sqlldr. Ceci relève plutôt d'unix que sqlldr mais je me disais quand le plançant au forum Unix, ils ne connaîtraient pas les subtilités de Sqlldr. |
||||
|
|
00
|
|
|
#2 |
|
Futur Membre du Club
![]() Inscription : décembre 2006 Messages : 47 ![]() |
L'énnoncé était un peu compliqué peut-être. J'ai trouvé la solution.
Dans mon .CTL, mon premier argument qui est mon chemin vers mon fichier Xml, est une variable comme ceci : Ensuite dans mon Unix, fic reçoit mon chemin vers mon fichier comme ceci: J'exécute mon sqlldr à l'intérieur de mon Unix en lui passant les paramètre Code :
control=${prg} log=${LOAD} DATA=${fic} bad=${bad} discard=${dsc} |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com