Bonjour,
Je cherche à identifier le nom du programme utilisateur (Oracle 9i) sans utiliser V$SESSION.
J'ai regardé sys_context() mais cette info particulière n'existe pas. Existe-t-il un autre moyen ?
Merci
Bonjour,
Je cherche à identifier le nom du programme utilisateur (Oracle 9i) sans utiliser V$SESSION.
J'ai regardé sys_context() mais cette info particulière n'existe pas. Existe-t-il un autre moyen ?
Merci
Bonjour ,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select program from v$session
Je n'ai pas le droit d'utiliser V$SESSION !
Votre DBA a lui le droit . Si vous demandez à votre DBA d'écrire une fonction qui va retourner ce que vous voulez et que votre DBA vous donne les droits d'exécution sur cette fonction, ça marchera (car le code PL/SQL s'exécute par défaut avec les droits de celui qui a créé le code (DEFINER) et non de celui qui l'exécute (INVOKER)).
Non, demandez plutôt à votre DBA de vous faire une vue v$session rien que pour vous, filtrée comme il faut avec un joli synonym et vous aurez une vue v$session qui ressemblera à la vraie, aura la gout de la vraie mais ne sera qu'un sous-ensemble de la vraie ! :-)
le tout, en totale transparence...
peut-être demander ce droit à ton DBA?
Code : Sélectionner tout - Visualiser dans une fenêtre à part GRANT SELECT ON V_$SESSION TO toto;
sinon tu peux utiliser CLIENT_INFO
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SQL> exec DBMS_APPLICATION_INFO.SET_CLIENT_INFO('sqlplus-toto') PL/SQL procedure successfully completed. SQL> select sys_context('USERENV','CLIENT_INFO') from dual; SYS_CONTEXT('USERENV','CLIENT_INFO') ------------------------------------------------- sqlplus-toto
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager