Bonsoir,

Je suis sous Oracle Enterprise Server Edition en 11.1.0.6.

J'ai créé un package MONPACK
avec une procédure: MAPROC
avec une fonction: MAFONC
sous un schéma TEST

-------------------------------------------------------

Pour y accèder en tant que SYS je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
EXECUTE TEST.MONPACK.MAPROC('');
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT TEST.MONPACK.MAFONC('') from dual;
Ca fonctionne très bien !

Par contre, j'aimerai donner l'accès à la fonction et à la procédure à mon user TOTO et je ne sais pas comment granter l'accès.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
GRANT EXECUTE ON TEST.MONPACK.MAPROC TO TOTO;
---> ne fonctionne pas, la syntaxe semble incorrecte car j'ai une erreur de syntaxe.

Si je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
GRANT EXECUTE ON TEST.MONPACK TO TOTO;
--> le grant fonctionne mais mon user toto a une erreur "Insuffisant Privilege" lorsque j'execute procédure ou fonction

Par contre, quand je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
GRANT EXECUTE ON ANY PROCEDURE TO TOTO;
--> Mon user Toto peut lancer la procedure ou la fonction..


Ma question, comment granter uniquement le privilege d'execution de ma fonction et de ma procédure...

Merci à vous



Comment granter l'accès à une procédure dans un package d'un autre schéma ?