Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> DBMS_SESSION.set_context

DBMS_SESSION.set_context

From: Eva Haiden <eva.haiden_at_engnetworld.com>
Date: 4 Mar 2002 07:58:51 -0800
Message-ID: <52046b21.0203040758.6c7d4318@posting.google.com>


Dear oracle users,

I try to create an application context to be used with an security policy. The select in the below database package works, but the context does not get set. Any idea why this could be?

Also, when I run
exec dbms_session.set_context('carambaContext', 'datamangerID', 2) by itself, I get the following error message:

*
FEHLER in Zeile 1:

ORA-01031: Unzureichende Berechtigungen
ORA-06512: in "SYS.DBMS_SESSION", Zeile 78
ORA-06512: in Zeile 1

The context creation is as following:

CREATE CONTEXT xxxContext USING xxx.dmContextPack;

CREATE OR REPLACE PACKAGE dmContextPack as    

   PROCEDURE setDatamanagerID;
   PROCEDURE showContext (context_name VARCHAR2, context_attribute VARCHAR2);     END dmContextPack;

CREATE OR REPLACE PACKAGE BODY dmContextPack IS

   PROCEDURE setDatamanagerID IS

      datamanID NUMBER;

   BEGIN

      select id 
         into datamanID
         from xxx_datamanager
	 where upper(dm_user) = SYS_CONTEXT('USERENV', 'session_user');

      dbms_session.set_context('xxxContext', 'datamangerID',
datamanID);
      DBMS_OUTPUT.PUT_LINE ('datamanID: ' || datamanID);
      DBMS_OUTPUT.PUT_LINE ('Attribute is set now:');
      DBMS_OUTPUT.PUT_LINE ('datamanagerID: ' || 
                             SYS_CONTEXT('xxxContext',
'datamanagerID'));           

   EXCEPTION

      WHEN NO_DATA_FOUND
	  THEN
	     DBMS_OUTPUT.PUT_LINE ('No data found');
	  WHEN OTHERS THEN
	     DBMS_OUTPUT.PUT_LINE ('When others clause reached:');
	     DBMS_OUTPUT.PUT_LINE ('datamanID: ' || datamanID);
   	 
   

   END setDatamanagerID;            

   PROCEDURE showContext (context_name VARCHAR2, context_attribute VARCHAR2) IS

      BEGIN
	     
	 DBMS_OUTPUT.PUT_LINE (context_name || ' = ' || 
                               SYS_CONTEXT(context_name,
context_attribute));                  

      END showContext;

END dmContextPack; Received on Mon Mar 04 2002 - 09:58:51 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US