3rd Aprile 2008, 05:32 pm
In un precedente post abbiamo visto come eseguire un programma AS400 tramite JDBC/ODBC. Occupiamoci ora di come eseguire un comando tramite questa interfaccia.
Continue reading ‘Come eseguire un comando AS400 tramite JDBC/ODBC’ »
9th Marzo 2008, 04:55 pm
E’ possibile richiamare un qualsiasi programma AS400 da una connessione JDBC utilizzando lo statement SQL CALL. Questo non solo dal Toolbox for Java, ma, teoricamente, da una qualsiasi connessione ODBC/JDBC.
Se non si devono ricevere dei parametri di ritorno dal programma, non è necessario creare anticipatamente una definizione di Stored procedure, altrimenti occorre prima definire la procedura con lo statement SQL CREATE PROCEDURE.
Continue reading ‘Come richiamare un programma AS400 da Java o Access’ »
17th Febbraio 2008, 10:55 pm
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).