Senhores,
Estou com um problema durante uma execução de classe que faz uma consulta de um determinado bd1 e em seguinda os dados coletados, sendo inseridos em um outro db2.
Durante esse processo acontece o seguinte erro:
An exception has occurred: Exceção de E/S: The Network Adapter could not establish the connection
O que é mais engraçado, que ele chega inserir 5.000 linhas no bd2.
Tentei ver alguma coisa relacionada com esse erro, mas o que eu achei não resolveu o problema.
Alguém sabe o que devo fazer?
Obrigado
Fabiano.
Vc está mandando todos os dados de uma vez??
Tente fazer essa transferência, enviando pacotes com determinados tamanhos.
O que pode estar ocorrendo é quando chega uma certa quantidade de dados no segundo BD, a sua placa de rede fica sobrecarregada e vai ter uma hora que não vai conseguir executar tantos pedidos.
Acho que só pode ser isso.
FAlows…Avise se conseguir resolver.
Não estou mandando tudo de uma vez só não…
A cada vez que o meu objeto é “instanciado”, eu mando para o metodo de inserção.
Agora, uma pergunta, Voce falou que isso é por causa do fluxo de dados e com isso a placa de rede fica sobrecarregada, agora, se eu deixar isso rodando em um servidor Unix, isso irá acontecer tambem?
O que eu estou tentando fazer agora (está sendo executado nesse momento) é quando ocorrer esse erro, ele cair em um loop e ficar tantando fazer a conexão, até o momento está indo, o segundo bd2 está com 1500 registros.
Vou esperar para ver o que acontece, assim que der certo eu coloco a solução aqui.
Valeu !
Fabiano.
Acho que mesmo em UNIX pode ocorrer o problema sim.
A placa de rede, trata os dados em uma janela de espaço.
Quando os dados vão chegando, essa janela vai sendo preenchida e ela vai avisando quantos espaços livres ela possui…quando os espaços ficam cheios, ela manda o processo que está enviando parar. Quando libera alguma janela ela pede pra enviar de novo…
Eu tinha pensado nisso…mas se bem, que isso é feito automaticamente e não poderia estar acontecendo…
Mas se vc está enviando os dados com tamanho pré definido, não entendo o motivo do erro…tente diminuir, mandar um por vez, sei lá…
Vou procurar saber que motivo pode ser isso…
Abraço!
Cara,
eu fiz da seguinte forma e “Debuguei” o codigo e no momento que caiu a conexão, com essa modificação ele reestabeleceu a conexão e continuou numa boa. Não sei se é a melhor forma, mas funcionou, dá uma olhada no código:
do
{
try{
conn = getConnection();
b=true;
}catch (SQLException e)
{b=false;}
}while (!b);
Valeu !!
Fabiano.