Bonjour à tous,
J'ai un script shell execute_sript.sh sous linux qui appelle une commande sqlplus
Ce script sqlplus fait appel à un fichier sql : papa.sql
dans ce fichier papa.sql sont appelé d'autre fichiers fils1.sql, fils2.sql
Autrement dit :
mon script linux contient la ligne suivante :
dans mon fichier papa.sql j'ai les lignes suivantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sqlplus login/pass@tns @papa.sql
Si j'execute mon script en ayant pris soin de me placer dans le même répertoire que papa.sql, mon script fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 @repertoire/fils1.sql @repertoire/fils2.sql
Par contre si je l'appelle depuis le cron ou d'un autre reperoire de la manière suivante :
/home/user/execute_sript.sh
j'ai les erreurs suivantes :
Sachant que je ne peux pas savoir à l'avance où les utilisateur vont placer le dossier contenant mon script et les fichiers sql,
Code : Sélectionner tout - Visualiser dans une fenêtre à part SP2-0310: unable to open file "repertoire/fils1.sql"
Ma question est la suivante : comment dans mon script dire qu'il faut que je me mette dans le bon répertoire, commande linux ou sql.
Je précise que si je fait
Mon script fonctionne, par contre si je mets la même ligne dans le cron, ca marche pô
Code : Sélectionner tout - Visualiser dans une fenêtre à part cd /home/user/; ./execute_sript.sh
Merci de votre aide
Partager