Exécution d'un script shell et écriture de fichier à partir de pl/sql
Bonjour,
J'essais de mettre en place une procédure PL/SQL qui lance un script shell dont le résultat est redirigé vers un fichier.
Je lance le script à partir d'une commande Host définie comme suit:
Code:
1 2 3 4
|
PROCEDURE Host_Command (p_command IN VARCHAR2)
AS LANGUAGE JAVA
NAME 'Host.executeCommand (java.lang.String)'; |
le script tout simple qui est dans le répertoire /test sur le serveur Unix:
Code:
1 2
|
ls /test/ >> resultats.txt |
Mon appelle:
Code:
1 2 3 4 5
|
begin
TEIS_CMD_UNIX.Host_Command ('/bin/sh /test/shell.sh');
end;
/ |
Rien de bien compliqué donc.
Sauf que lorsque j’exécute la procédure sur oracle, le fichier resultats.txt est créé dans le répertoire /test/ mais il est vide!!
Le répertoire comporte portant plusieurs répertoires et fichiers!
Le shell.sh lancé directement sous unix créé le fichier et le rempli avec la liste des fichiers et répertoire, comme attendu.
Du coté des droits, l'utilisateur oracle est propriétaire du répertoire /test et j'ai forcé un chmod 777 sur shell.sh
Je m'attendrais à n'avoir aucun résultat, même pas la création du fichier resultats.txt, si ma procédure oracle ne marchait pas...
D'où peut venir mon problème???
Help me please. :roll: