Prohibit Excel from Connecting to your Database


Problem

Prohibit Excel from Connecting to your Database

It could be accidental or not, but sometimes it's helpful, if you can make sure certain tools aren't allowed to connect to a certain database. The following trigger is executed whenever someone wants to create a connection. We then check the program name and raise an exception if it matches with a tool we want to exclude:


Solution

Recipe #1 - Block Excel from Connecting to your Database

CREATE OR REPLACE
TRIGGER block_excel AFTER LOGON ON DATABASE
DECLARE
  prog_ sys.v_$session.program%TYPE;
BEGIN
  SELECT UPPER(program) INTO prog_ 
    FROM sys.v_$session
  WHERE  audsid = USERENV('SESSIONID')
    AND  audsid != 0; 

  IF prog_ LIKE '%EXCEL%' THEN
     RAISE_APPLICATION_ERROR(-20000, 'You are not allowed to connect to this database using Excel!');
  END IF;
END;

Comments




Please sign-in to post a comment