Informazioni sulle funzioni di creazione e chiusura delle connessioni

È possibile definire per Publisher le funzioni PL/SQL da eseguire quando una connessione a un'origine dati JDBC viene creata (Funzione di pre-elaborazione) o chiusa (Funzione di post-elaborazione).

La funzione deve restituire un valore booleano. Questa funzione è supportata per i database Oracle.

Questi due campi consentono all'amministratore di impostare gli attributi di contesto di un utente prima che venga stabilita una connessione a un database e quindi di rimuovere gli attributi dopo l'interruzione della connessione da parte del motore di estrazione.

La variabile di sistema :xdo_user_name può essere usata come bind variable per passare il nome utente di login alle chiamate delle funzioni PL/SQL. L'impostazione del contesto utente di login secondo queste modalità consente di rendere sicuri i dati a livello di origine dati anziché a livello di query SQL.

Si supponga, ad esempio, l'esistenza della funzione di esempio seguente:

FUNCTION set_per_process_username (username_in IN VARCHAR2)
   RETURN BOOLEAN IS
     BEGIN
     SETUSERCONTEXT(username_in);
     return TRUE;
   END set_per_process_username

Per chiamare questa funzione ogni volta che viene stabilita una connessione al database, immettere quanto segue nel campo Funzione di pre-elaborazione: set_per_process_username(:xdo_user_name)

Un altro uso di esempio potrebbe essere l'inserimento di una riga nella tabella LOGTAB a ogni connessione o disconnessione di un utente:

CREATE OR REPLACE FUNCTION BIP_LOG (user_name_in IN VARCHAR2, smode IN VARCHAR2) 
RETURN BOOLEAN AS
   BEGIN
   INSERT INTO LOGTAB VALUES(user_name_in, sysdate,smode);
   RETURN true;
   END BIP_LOG;

Nel campo Funzione di pre-elaborazione immettere: BIP_LOG(:xdo_user_name)

Non appena viene stabilita, la nuova connessione al database viene registrata nella tabella LOGTAB. Il valore SMODE specifica l'attività come entrata o come uscita. Il richiamo di questa funzione anche come Funzione di post-elaborazione restituisce risultati simili a quelli indicati nella tabella seguente.