Array
(
)

Stored Procedure MySql para no meio da execução sem retornar erro

Eduardo Fornaro
   - 03 mai 2016

Pessoal,
Tenho uma SP em MySql que estava rodando normalmente. Agora ela simplesmente não chega ao final do processamento e também não dá erro algum. Isto ocorre em um REPEAT ao ler um cursor. Percebi que o ponto de parada não é sempre o mesmo. As vezes roda alguns loops a mais ou a menos. Como não retorna erro algum eu não sei o que está acontecendo na SP.
O estranho é que roda no banco local, roda também no banco em produção (mas executando o código Asp.Net em modo de debug na máquina local), roda se eu executar o comando CALL diretamente no banco mas, não roda pela aplicação em ambiente de produção.
Como também começou a dar problema com uma thread que executava a SP (que antes funcionava direitinho), estou pensando se não pode ser um problema de memória no servidor da minha hospedagem. Eles dizem, obviamente, que não há nada de errado.
Espero que alguém possa me dar uma luz.

Eduardo Fornaro
   - 11 mai 2016

Descobri o problema. Havia uma chamada ao banco antes do tratamento de erro o que estava reinicializando as mensagens. O erro era de TIME-OUT (a SP demora 30 segundos em média). O problema foi corrigido colocando-se, ao final da string de conexão o parâmetro "DEFAULT COMMAND TIMEOUT=360".