Salve,
devo inserire un numero elevato di righe in una tabella DB2.

Il problema è che l'inserimento può multiplo, in quanto faccio girare più istanze dello stesso programma.

Chiaramente ogni istanza inserirà dati differenti.


Quello che faccio è essenzialmente


codice:
_cnn.setAutoCommit(false); 
for(int i=0; i< NUMERO_RIGHE_DA INSERIRE; i++){ 
    _stm.executeUpdate(RIGA_DA_INSERIRE[i]); 
}  
_cnn.commit();

Il problema è che durante l'inserimento A VOLTE ottengo un errore di TIMEOUT:

SQLCODE = -913
SQLERRD = 00C9008E ---> timeout


Il problema è dunque riuscire ad aumentare il timeout del db in modo da evitare questo errore.


Ho provato inserendo nella stringa di connessione il "locktimeout" ma non funziona:
codice:
Properties prop = new Properties();
prop.setProperty("locktimeout", "900");

...

_cnn = DriverManager.getConnection(_Url, prop);
Ma da sempre lo stesso errore.

Ho provato allora a settare il currentlocktime in questa maniera:
codice:
 
DB2DataSource ds = new DB2DataSource();
....
ds.setCurrentLockTimeout(900);
...
_cnn = ds.getConnection(_User, _Pswd);
ma non cambia nulla...

Che posso fare????