Eu estou usando o addBatch(); pra migrar dados de um banco pra outro. e a cada cinquenta registros eu insiro, e vou imprimindo na tela, o meu contador C, o problema que eu estou tendo é o seguinte..
eu tenho acima de 400.000 registros pra inserir, quando chega por volta do 300.000 o sistema não mostra mais que está a inserir mais registros.. mostra algo do tipo "Inserindo atualmente C registros". porém, quando eu vou fazer a consulta no banco, ele só inseriu na verdade 50 registros. não é lançado nenhuma excessão, o sistema não trava, simplemente acontece isso.. alguém aqui que utiliza, sabe o que pode estar acontecendo?
public void migraDados2() throws Exception {
try {
//..Aqui feita consulta no banco
while (rs.next()) {
//...Aqui os ps.Set
ps.addBatch();
c++;
if (c == 50) { //..a cada 50 registros ele executa.
ps.executeBatch();
}
}
} catch (Exception ex) {
//..Aqui lança a exceção
} finally {
ps.executeBatch();
//..Executa os batchs restantes e fecha as conexões
}
}
[img]http://i227.photobucket.com/albums/dd125/technosbr/Semttulo.png[/img]