• advertisement_alt
  • advertisement_alt
  • advertisement_alt
Janio Aguiar

Re-Conexão automatica ao Banco

4 posts in this topic

Boa noite,

As vezes acontece de a rede ter uma instabilidade temporária, logo retornando ao normal, mas mesmo assim o sistema cai (geralmente retornando codigo 73001) quando requer algo do banco, .

Pesquisando no Help encontrei a função hReconnect()

https://doc.windev.com/?1000017278&lang=en-US&productversion=xxA230053k&1000017278&lang=en-US&productversion=xxA230053k

So que não em que lugar do sistema devo colocar essa função.

Alguma idéia?

 

Share this post


Link to post
Share on other sites

Datalhe:
Uso MySQL com Driver Nativo. Windev 23

Coloquei em Project Code a linha abaixo:
HOnError( "*" , hErrConnectionLoss,Reconexao)

E em PROCEDURES criei:
 

PROCEDURE Reconexao()

LOOP

	IF HReconnect() THEN

		RESULT opRetry

	ELSE

		//1 : SIM

		//2 : NAO

		SWITCH Dialog("CONEXAO COM O BANCO DE DADOS PERDIDA!")

			// SIM

			CASE 1	

			// NAO

			CASE 2

				EndProgram()

		END

	END

END

 

Em um pequeno projeto com HfSQL Server funcionou perfeitamente! Mas no outro projeto com MySQL (driver nativo) ao perder a conexao nem entra nessa procedure

A duvida é:
- Isso so serve pra HfSQL Server?
- Nao deveria funcionar para todos os bancos com driver nativo?

 

Share this post


Link to post
Share on other sites

Um bom lugar para colocar seria em uma cláusula Try...Catch

 

Share this post


Link to post
Share on other sites

Olá,

 

O Pedrosão veiculou alguma coisa sobre isso utilizando o Postgres, mas não lembro exatamente como ele procede.

 

[]´s

 

1 person likes this

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now