Pessoal,
Estou encontrando um problema em uma aplicação desktop que está retornando o erro “Connection Reset” por parte do SQL Server.
O funcionamento da aplicação, basicamente é o seguinte:
1- Busca alguns dados no SQL Server
2- Realiza o processamento destes dados
3- Realiza uma consulta que demora 2 horas no Oracle
4- Processa os dados obtidos do Oracle
5- Realiza outra consulta no SQL Server
6- Realiza inserção dos dados processados vindo do Oracle no SQL Server
Enfim, o problema sempre ocorre no passo 5 ou 6. A primeira consulta (etapa 1) é realizada normalmente, mas após um certo tempo de inatividade (quando a aplicação está consultando os dados no oracle) , na volta, o Topl Link lança a exeção com o erro trazido pelo SQL Server: “Connection Reset”.
Às vezes ele lança esta exceção numa consulta, às vezes na inserção, e às vezes quando há uma tentativa de abrir uma transação com o EntityManager.
Primeiramente achamos que era alguma configuração de timeout, e mudamos algumas configurações no banco, mas mesmo assim após testes com menos dados e tempo de processamento, o erro era apresentado em diversos intervalos de tempos, 7 minutos de inatividade, as vezes com 30, as vezes com 40, e etc.
Tentei setar parâmetros no jdbc, colocando timeout = 0. Também tentamos colocar um parâmetro, olhando a documentação do SQL Server , "Connection Reset = false " na string de conexão.
Atualizamos o JDBC do SqlServer, tentamos utilizar o JTDS como alternativa, mas nenhuma destas tentativas citadas resolveu nosso problema.
O erro começou a aparecer quando houve uma atualização do Service Pack 2 para o Service Pack 3 no SQL Server 2005, antes a aplicação funcionava normalmente e este problema não existia.
Alguém já passou por situação parecida? Ou tem alguma idéia do que possa ser?
Ou ainda alguma tratativa para solucionar o problema?
Desde já agradeço