TcSqlExec congelando o Smartclient em transações longas

Boa tarde!

Possuo algumas rotinas em minha empresa que executam Stored Procedure no Banco de Dados, para isso elas utilizam o comando TcSqlExec.

Acontece que quando essas SPs demoram muito tempo (20-40 minutos), o Smartclient perde a conexão com o AppServer. A conexão finaliza, porém o usuário não tem o retorno dessa conclusão do processo, porque o Smartclient não cai.

Tentei fazer um teste removendo o tempo de time-out do Configurador e também dos AppServer, mas mesmo assim o problema acontece.

Já tentei também o uso do Begin Transaction com o TcSqlExec dentro e também a chamada do ProcessMessage() após o término do processo.

Existe alguma outra maneira de tentar corrigir esse problema, de modo que o Smartclient não perca a conexão? Em todos os casos que verifiquei, o comando é executado até o final, mas não envia o feedback de conclusão para o Smartclient.

compartilhar
  • Boa tarde, vocês utilizam broker?

    Daniel Mendes   07 de Aug de 2019
  • Bom dia! Não utilizamos, Daniel.

    Giordano Trabach Xavier   08 de Aug de 2019
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

4 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags smartclient protheus tcsqlexec ou faça a sua própria pergunta.