Grato Eduardo. Desconheço o MyDAC. Verei isto agora mesmo. Valeu! Levy
________________________________ From: Eduardo Silva dos Santos <eduardo....@gmail.com> To: delphi-br@yahoogrupos.com.br Sent: Mon, July 5, 2010 5:57:59 PM Subject: Re: [delphi-br] MySQL server has gone away Levy, o mysql é exigente com a conexão, qualquer anormalidade e ele derruba a mesma. Quanto eu usava zeos eu implementei uma rotina que reconectava automaticamente caso a mesma fosse perdida. eu não sei se isso foi implementado na versão atual do zeos. Vou tentar achar a versão que fiz essa mudança e te passo, assim vc aplica ai.. Bom, mudando de zeos para MyDAC, não sei se você conhece, nele existe uma teconologia que faz o mesmo processo, se a conexão cair, ele reconecta de forma transparente.. caso não conheça, veja: www.devart.com/mydac Att, ....................................................... Eduardo Silva dos Santos DRD SISTEMAS (27) 3218-4201begin_of_the_skype_highlighting (27) 3218-4201 end_of_the_skype_highlighting (27) 9961-7095 MSN: eduardo....@gmail.com Site: http://www.drdsistemas.com.br/ ....................................................... Em 5 de julho de 2010 14:01, Levy Pereira <levypere...@yahoo.com> escreveu: > > > Prezados amigos, > > como um (por enquanto) iniciante com o MySQL estou apanhando, estou usando > o ZEOS para conexão. > > A conexão é instável. Muitas vezes procede normalmente as consultas, > atualizações ou inserções, em outras o fatal erro acontece e somente volta a > conectar depois de sair e entrar no aplicativo. > > Este erro acontece algumas vezes quando o aplicativo fica ativo sem > atividade. > > Antes de começar qualquer procedimento checo se há conexão: > > if BD.Conexao.Connected = false then BD.Conexao.Reconnect; > > Depois o processo: > > BD.Query01.Close; > BD.Query01.SQL.Clear; > BD.Query01.SQL.Add('start transaction'); > BD.Query01.ExecSQL; > BD.Query01.Close; > BD.Query01.SQL.Clear; > BD.Query01.SQL.Add( > 'insert into fornecedores ( cnpj, razaosocial, telefone, contato,'+ > 'email ) values ( '+A01+','+A02+','+A03+','+A04+','+A05+')'); > BD.Query01.ExecSQL; > BD.Query01.SQL.Clear; > MessageBox( Handle, 'Fornecedor adicionado com sucesso', 'Informação', 64 > ); > passou := True; > BD.Query01.SQL.Add('commit'); > BD.Query01.ExecSQL; > BD.Query01.SQL.Clear; > BD.01.Refresh; > > Grato pela ajuda! > > Levy > > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> [As partes desta mensagem que não continham texto foram removidas]