Exit programs per il controllo delle connessioni ODBC/JDBC

Su AS400 è possibile effettuare il controllo di ogni connessione ODBC/JDBC tramite l'uso di Exit Programs che possono essere mandati in esecuzione:
  1) Al collegamento di ogni client; (Punto di uscita QIBM_QZDA_INIT)
  2) Prima dell’esecuzione di ogni statement SQL. (Punto di uscita QIBM_QZDA_SQL1)
Tali programmi, gestiti con il comando WRKREGINF, ricevono in ingresso i dati della richiesta (profilo utente, statement SQL...) e restituiscono un flag che indica se accettarla.
Vediamo un semplice programma CL per il controllo del collegamento:

             PGM        PARM(&STATUS &REQUEST)
/* Flag di accettazione/rifiuto richiesta */
             DCL        VAR(&STATUS) TYPE(*CHAR) LEN(1)
/* Parametro di ingresso contenente anche il nome utente */
             DCL        VAR(&REQUEST) TYPE(*CHAR) LEN(2000)
             DCL        VAR(&UTENTE) TYPE(*CHAR) LEN(10)
/* Di default rifiuto tutte le connessioni */
             CHGVAR     VAR(&STATUS) VALUE('0')
/* Recupero nome utente */
             CHGVAR     VAR(&UTENTE) VALUE(%SST(&REQUEST 1 10))
/* Abilito solo le connessioni di FRANCO */
             IF         COND(&UTENTE *EQ 'FRANCO') THEN(CHGVAR +
                          VAR(&STATUS) VALUE('1'))
             ENDPGM

Per attivare il programma si utilizzi il comando
ADDEXITPGM EXITPNT(QIBM_QZDA_INIT) FORMAT(ZDAI0100) PGMNBR(1) PGM(LIB/PGM)
che avrà effetto al riavvio di tutti i programmi QZDASOINIT (programmi sever che gestiscono le chiamate ODBC/JDBC).