Bonjour,
Je cherche à faire accéder un utilisateur lambda à des tables d'une base de données distantes sans lui donner le droit de modifier ces tables
Pour se faire je pensais utiliser les DB Link public mais je n'arrive qu'à créer un DB Link public qui donne l'accés en modif à mon utilisateur.
Un schema X (user X mot de passe passX) dont on ne veut pas ouvrir en modif les tables
Un schema Lambda (user lambda mot de passe lambda) qui doit pouvoir accéder aux tables de X en lecture
Sur X on crée le DB Link public suivant :
Si Lambda fait un :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 create shared public database link DLX connect to X identified by passX AUTHENTICATED BY lambda IDENTIFIED BY lambda using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) (CONNECT_DATA = (SID = xe) ) )';cela lui affiche la table
Code : Sélectionner tout - Visualiser dans une fenêtre à part select * from test@dbx
Si Lambda fait un :cela marche aussi
Code : Sélectionner tout - Visualiser dans une fenêtre à part update test@dbx set nom='z' where nom='x'mais c'est logique vu que le DB Link arrive avec le user/mot de passe privilégié.
Comment faire pour que Lambda puisse faire des select mais pas de update, insert et autres plaisanteries ?
A noter que je ne suis pas accro aux DBLink si quelqu'un a autre chose à proposer ...
Merci de vos réponses
Jean Michel Plancade
plancade@mls.nc
Partager