|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 638 ![]() |
Bonjour,
Je viens de perdre pas mal de temps pour réussir à insérer des données dans un schéma autre que le schéma de l'user courrant via une procédure. J'ai "contourner" le problème en indiquant des droits explicite (et non via role) à l'utilisateur. Je me demandais s'il n'y avait pas un autre moyen que ceci ? Je trouve ca assez lourd comme contrainte au vu de la gestion des rôles. edit: oracle 11gr2 |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Pour les procédures stockées il faut avoir les droits en direct et non via un rôle.
Les rôles seront utiles pour des users se connectant en direct ou pour des users applicatifs avec des droits execute sur certains packages, mais pas pour les users générant l'API, mais j'avoue c'est un peu naze... |
|
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 638 ![]() |
Merci pour les précisions.
Pourrai-tu développer ce point là ? Mon contexte est le suivant : J'ai un package qui dispose de X procedure / fonction afin de réaliser une migration de donnée. ce package n'est appelable que via une procédure public et tout le reste ce fait avec des fonctions / procédures privées. Je n'ai pas d'autre choix que de donner les droits select / insert à l'utilisateur qui va appeler ma procédure public sur les tables du schéma de destination donc ? |
|
|
00
|
|
|
#4 | |||||||
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Citation:
Ci-dessous un exemple j'espère qu'il est clair : Code :
[edit]Au fait j'avais mal lu, les droits ne sont pas donnés à PUBLIC mais seule la procédure est publique, donc avec les droits execute donnés directement au user c: Code :
Code :
|
|||||||
|
|
20
|
|
|
#5 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 638 ![]() |
Ok compris.
Merci pour la démo |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com