Pessoal eu tenho o seguinte problema.. "copiar todos os dados de um banco, e fazer o backup em outro".
eu consegui fazer com algumas tabelas a migração de todos os registro, só que tenho uma que possui algo em torno de 60.000 registros, e a consulta abaixo só tá inserindo no banco de backup, apenas algo em cerca de 40...45 mil..
Não sei o que eu posso estar fazendo de errado, todas as conexões, são fechadas depois que rodo as instruções de cada uma.
Na tela do sistema eu seto pra desabilitar alguns botões, e habilita-los somente quando concluir, só que durante a execução, os botões são desabilitados, e a ferramenta fica com status de copiando e não consigo fazer mais nada..
alguém sabe o que eu posso fazer pra melhorar o desempenho ou copiar todos os registros?
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public void migraDados() throws Exception {
Banco bancolocal = null;
String sqlconsulta="";
PreparedStatement ps = null;
Banco bancobackup = null;
ResultSet rs1 = null;
String sqldelete="select nome, telefone, endereco from cliente";
String sqlinsercao="inserto into cliente(nome,telefone,endereco) values(?,?,?)";
Conexao conbancolocal = new Conexao(bancolocal);
Conexao conbancobackup = new Conexao(bancobackup);
conbancolocal.getConexao();//abre conexao local
rs1 = conbancolocal.consulta(sqlconsulta);//busca todos os registros no banco
//local
conbancobackup.getConexao();//abre conexao backup
conbancobackup.ExecuteUpdate("delete from cliente");//aqui deleta todos do
//banco de saida antes de inserir
try{
while (rs1.next()) {
ps = null;
ps = conbancobackup.getPreparedStatement(sqlinsercao);
try{
ps.setString(1, rs1.getString("nome"));
ps.setString(2, rs1.getString("telefone"));
ps.setString(3, rs1.getString("endereco"));
}catch(Exception ex){
}
}
ps.execute();
}
conbancolocal.fecharConexao(conbancolocal);
conbancobackup.fecharConexao(conbancobackup);
}