Benutzer-Werkzeuge

Webseiten-Werkzeuge


prog:sql_oracle_context_object

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

prog:sql_oracle_context_object [2016/09/08 18:28] – angelegt gpipperrprog:sql_oracle_context_object [2016/09/08 18:29] (aktuell) – [Das Oracle CONTEXT Object - Globale Werte in einer Session hinterlegen] gpipperr
Zeile 1: Zeile 1:
 +===== Das Oracle CONTEXT Object - Globale Werte in einer Session hinterlegen=====
 +
 +Aufgaben:  In einer Session soll über eine globale Variable in Views / PL/SQL Procedure etc. auf Eigenschaften zugegriffen werden.
 +
 +
 +
 +
 +
 +
 +
 +===Rechte vergeben===
 +
 +Als SYS User:
 +
 +<code sql>
 +GRANT CREATE ANY CONTEXT TO  GPI;
 +</code>
 +
 +
 +=== Context anlegen ===
 +
 +<code sql>
 +CREATE or replace CONTEXT GPI_MON USING gpi.ADMIN_ENV;
 +</code>
 +Das Package um den Context zu setzen muss zu diesem Zeitpunkt noch nicht exisiteren
 +
 +
 +=== Context über Package setzen ==
 +
 +Package anlegen
 +<code sql>
 +
 +create or replace package admin_env
 +as 
 +   procedure setcontext;  
 + end admin_env;
 + 
 +create or replace package body admin_env 
 +as 
 +   procedure setcontext
 +   is
 +   begin
 +   dbms_session.set_context (
 +         namespace => 'gpi_mon',
 +         attribute => 'username',
 +         value     => 'hugo');         
 +   end setcontext;
 +end admin_env; 
 +</code>
 +
 +=== Context über Package setzen == 
 +
 +Setzen: 
 +<code sql> 
 + begin
 + ADMIN_ENV.setContext;
 + end;
 + /
 +</code>
 +
 +Abfrage:
 +<code sql>
 + select sys_context('GPI_MON','USERNAME') from dual;
 +</code>
 +
 +==== Quellen ====
 +
 +SQL Doku => http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_5002.htm#SQLRF01202
 +
 +Beispiel => https://docs.oracle.com/cd/B28359_01/network.111/b28531/app_context.htm#CIHBCIHG
  
prog/sql_oracle_context_object.txt · Zuletzt geändert: 2016/09/08 18:29 von gpipperr