Ir para conteúdo
  • Cadastre-se

dev botao

Perda De Conexão Delphi + Firebird


  • Este tópico foi criado há 1803 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Galera, preciso de um help.

Tenho um cliente que possui 3 PDV's e um deles, esporadicamente, perde a conexão com o banco de dados que está em rede.

Dai da aquele velho transtorno do cara ter que sair do sistema e entrar novamente. Já tentei várias maneiras de verificar se o firebird está ou não conectado pra poder fazer alguma coisa. Eu uso um Singleton para conexão com o banco, logo, tudo fica centralizado. Acontece que, depois de muito testar, cheguei a conclusão que, quando cai a rede, por algum motivo, o TSQLConnection não é notificado pelo Windows, sendo assim, se você fizer um teste do tipo "TSQLConnection.Connected" ou "TSQLconnection.ConnectionState", ele sempre vai retornar que está conectado.

Alguém aí conhece alguma maneira de verificar se realmente o Firebird tem conexão com o servidor??? Algo robusto e que de resultado?

 

Fico no aguardo, abraço a todos.

Sistemas para toda área Goumert, pequeno varejo e baladas.

www.controleautomacao.com.br

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Boa tarde

Neste seu cliente no micro em específico por acaso não tem algum aplicativo que usa VPN?

tive essa mesma situação citada e cheguei ao problema que era uma VPN de consulta que quando ele habilitava caia o Firebird em específico!

  • Curtir 1
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Boa tarde

Neste seu cliente no micro em específico por acaso não tem algum aplicativo que usa VPN?

tive essa mesma situação citada e cheguei ao problema que era uma VPN de consulta que quando ele habilitava caia o Firebird em específico!

Rapaz, pior que não ein. Na verdade assim, no servidor roda um Windows Server 2003 já nos PDV's, Windows XP. Quando fui começar a implantação lá, todos os PDV's foram formatados e, até então, só foi instalado o sistema neles. Engraçado que um dos 3, a conexão não cai.

Sistemas para toda área Goumert, pequeno varejo e baladas.

www.controleautomacao.com.br

Link para o comentário
Compartilhar em outros sites

Tenho um problema parecido tambem , com uma VPN aqui . qndo fica mais que 5 minutos sem mexer na rede / sistema .. cai a conexao como Firebird , na epoca que estava usando BDE . consegui fazer um esquema pra refazer as conexoes e remontar as querys abertas . ai mudei meu sistema pra Zeos e nao tive mais as essa opcao de refazer as conexoes ... talvez esse problema pare na versao 3.0 do firebird . pois ate onde sei . vai ter varias mudanças ref a parte de comunicacao tcp/ip ...

Link para o comentário
Compartilhar em outros sites

  • Consultores

Como está configurado o parâmetro KeepAlive no arquivo Firebird.conf?

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

Essa opção eu não mexo no firebird. Teve uma vez que vi uma documentação na www.firebase falando a respeito dessa opção , de que não era muito bom mexer nela , e que era pra tentar ajustar isso no próprio sistema operacional . onde que o sistema operacional fica por 2 horas sem ver se esta on-line ou não . e que teria que ser feito a diminuicao desse tempo no próprio S.O .

ate isso eu fiz no meu Linux . porem mesmo assim . o problema persiste . Apesar que essa opção seria pra derrubar o cliente que fica pendente no próprio firebird ... no caso ate matando a transação que aquela estação perdeu e ficou pendente no firebird .

Link para o comentário
Compartilhar em outros sites

  • Consultores

Não é "muito bom mexer" nessa opção justamente pois ela derruba as conexões sem tráfego. Se alguém mexeu, então poderia ser esse o motivo da queda de conexões. Mas o seu caso parece ser diferente do daniel_paixao. O dele não está envolvido uma VPN.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

Não é "muito bom mexer" nessa opção justamente pois ela derruba as conexões sem tráfego. Se alguém mexeu, então poderia ser esse o motivo da queda de conexões. Mas o seu caso parece ser diferente do daniel_paixao. O dele não está envolvido uma VPN.

Realmente no meu caso não está envolvido uma VPN. É uma rede basicamente simples, com um servidor com Windows Server 2003 e todas as maquinas (4) com Windows XP.Fiz um paleativo que resolveu porém, o proprietário está adquirindo um Hub Suíte para ver ser resolvemos de vez.

Sistemas para toda área Goumert, pequeno varejo e baladas.

www.controleautomacao.com.br

Link para o comentário
Compartilhar em outros sites

Boa tarde a todos

 

Ja Verificou cabeamento a que esta maquina esta conectada? 

olha ja aconteceu uma vez comigo e era um padrao que meu funcionario tinha feito em um dos cabos e outr era um hub mudei tudo pra swith e resolver o problema, é bom verificar a configuraçao da placa de rede nesse micro a que velocidade ela esta  

Link para o comentário
Compartilhar em outros sites

Na verdade não fiz nada de mais. Eu criei um Singleton para conexão com o firebird e uso o componente TSQLQuery para fazer comandos no banco de dados. Toda vez que você faz TSQLQuery.SQL.TExt := 'SeuSQL', se não houver conexão com o banco ele retorna uma exceção, eu trato a exceção e mando o meu singleton tentar fazer uma nova conexão.  Dá uma travadinha de uns 5 segundos porém... é melhor do que ter que fechar o sistema e abrir novamente.

Sistemas para toda área Goumert, pequeno varejo e baladas.

www.controleautomacao.com.br

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...
  • 11 meses depois ...
  • Consultores
Em 21/04/2016 at 02:32, olavo1965 disse:

Mesmo que faça muito tempo, segue a solução que encontrei.

Criei um Timer e a cada X segundos que cada um pode escolher, executar o seguinte código:


if not IBConexao.TestConnected then
    IBConexao.Open;

 

Seria melhor você tratar isso na hora de fazer a conexão. Não é bom manter uma conexão aberta no BD Firebird se ele não está sendo utilizado. Qualquer transação deve ser fechada assim que não está mais em uso.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • 3 anos depois...
  • Este tópico foi criado há 1803 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...