In questo post vedremo come creare un processo batch in java che eseguirà una semplice query nel database Oracle 10g attraveso il driver JDBC:ODBC.
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author Alessandro Musacchio
*/
public class Main {
public static void main(String[] args) {
Connection con = null;
Statement st = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection("jdbc:oracle:thin:user/password@localhost:1521:XE");
String query = "update UTILITA set AVVIOTRIGGER=1";
st = con.createStatement();
st.addBatch(query);
st.executeBatch();
} catch (ClassNotFoundException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}finally {
if( st != null)
st.close();
if( con != null)
con.close();
}
}
}
Vi mostrerò un esempio su come pianificare un azione, sia essa l’ esecuzione di una procedura, sia essa l’ avvio di un trigger ecc..
Oracle 10g, offre uno scheduler interno che permette di pianificare una particolare azione SQL alla data e allora stabilita, eventualmente anche ogni giorno.
Nell’ esempio sottostante vedremo come si crea e che cosa può fare:
BEGIN
DBMS_SCHEDULER.create_job (
job_name => 'avviotrigger',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN update UTILITA set AVVIOTRIGGER=1; END;',
start_date => SYSTIMESTAMP,
repeat_interval => 'freq=daily; byhour=0;byminute=0;bysecond=0',
end_date => NULL,
enabled => TRUE,
comments => 'Inseriamo un commento');
END;
Come potete vedere niente di più semplice da implementare, abbiamo achedulato un azione (update UTILITA set AVVIOTRIGGER=1) che a partire dall’ istante in cui inseriamo il comando, ogni giorno e per sempre a mezzanotte eseguirà la query di update.
ATTENZIONE: requisiti minimi di sistema sono: 256mb di ram, 1gb di swap, librerie glibc e libaio1!
Per prima cosa scarichiamo dal sito di Oracle la versione XE di famoso 10g in formato .deb
Fatto ciò procediamo con l’ installazione…
Spostiamoci con la shell nella directory in cui abbiamo scaricato oracle e diamo il comando:
sudo dpkg -i [nome del file oracle]
Dopo unpo di tempo dovrebbe aver finito l’ installazione..
Ora dobbiamo controllare se la porta 8080 è impegnata, per farlo diamo il comando:
netstat -na | grep 8080
Se non appare niente allora è libera
Diamo il comando:
sudo /etc/init.d/oracle-xe configure
E lasciamo tutto di default.. Attenzione a dove dice di inserire la password dell’ utente SYS!
Finita questa procedura apriamo firefox e puntiamolo su http://localhost:8080/apex
e utilizzando l’ accont sys facciamo login
Cerca Alessandro Musacchio!