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:
le script tout simple qui est dans le répertoire /test sur le serveur Unix:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 PROCEDURE Host_Command (p_command IN VARCHAR2) AS LANGUAGE JAVA NAME 'Host.executeCommand (java.lang.String)';
Mon appelle:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ls /test/ >> resultats.txt
Rien de bien compliqué donc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 begin TEIS_CMD_UNIX.Host_Command ('/bin/sh /test/shell.sh'); end; /
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.
Partager