|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : mai 2003 Messages : 140 ![]() |
Bonjour,
Au cours d'une procédure stockée je souhaite effectuer une tache en tant qu'administrateur. Connaissez vous le moyen de changer d'utilisateur au cours d'une procédure stockée ? merci.
__________________
Les deux mots les plus brefs et les plus anciens, oui et non, sont ceux qui exigent le plus de réflexion. "Pythagore" |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
On ne peux pas changer d'utilisateur dans une PS, la notion d'utilisateur est attachée à la connexion.
Quel est cette tache que vous souhaitez faire en tant qu'admin que vous ne pouvez faire avec le user normal ??? Pourquoi ne donnez vous pas les droits necessaire à votre PS ? et au USER le droit d'éxécuter cette PS ? |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : mai 2003 Messages : 140 ![]() |
Je souhaite que l'utilisateur A puisse supprimer une procédure créer par un utilisateur B ou C ou etc....
En parlant de droit, voulez vous dire quand mettant les droits suivants: Code :
GRANT EXECUTE ON PROCEDURE MY_PROC TO PUBLIC
__________________
Les deux mots les plus brefs et les plus anciens, oui et non, sont ceux qui exigent le plus de réflexion. "Pythagore" |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Non celà donne juste de droit d'exécution. Donc tout le monde a le droit d'executer MY_PROC.
Ensuite deuxième remarque vous ne pouvez supprimer ou créer une PS depuis une PS. A moins de le faire soit même dans les tables systemes (mais là attention si vous faites n'importe quoi vous risquez gros.) Dans cette optique, il faudrait donc donnez les droits à votre PS de modifier certaines tables systèmes et donner le droit d'execution de votre PS au public. |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : mai 2003 Messages : 140 ![]() |
Non, en fait je souhaite juste pouvoir supprimer ma PS par une simple requete.
Cependant étant donné que le créateur de MY_PROC est A, B ne peut pas la supprimer, et c'est la que je rencontre mon problème. Dans l'ordre des choses l'utilisateur A doit pouvoir créer une procédure accessible à tous le monde et l'utilisateur B doit pouvoir la supprimer. Chose qui parait extrément simple, or je n'arrête pas de rencontrer des problèmes. J'en suis rendu a faire un script qui s'occupe de créer cette procédure en tant qu'administrateur, et un autre script qui s'occupe de la supprimer toujours en administrateur (solution non satisfaisant ?).
__________________
Les deux mots les plus brefs et les plus anciens, oui et non, sont ceux qui exigent le plus de réflexion. "Pythagore" |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Pour la création vous pouvez le faire en temps que A
mais pour sa suppression il faut être soit A ou SYSDBA. Donc si vous êtes A et que vous voulez supprimer une PS appartenant à B, ce n'est pas possible. Pourquoi créez vous les PS dynamiquement ? |
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : mai 2003 Messages : 140 ![]() |
Tout simplement car elle change selon les situations.
__________________
Les deux mots les plus brefs et les plus anciens, oui et non, sont ceux qui exigent le plus de réflexion. "Pythagore" |
|
|
00
|
|
|
#8 | |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Citation:
Mais pourquoi ne pas en faire un par situation ? Ou si vous ne pouvez pas ennumérer toutes les situations pourquoi faire une PS et pas tout simplement du SQL ? |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com