Eduardo, baixei o MyDAC e parece-me que vou ter que investir neste componente. A conexão continua sendo perdida mas diferente do Zeos ela é restabelecida, vou ver ainda com o tratar a mensagem de erro.
Ele carrega alguma .dll para não ter a obrigatoriedade de instalar o MySQL Client? Há demora na gravação dos dados, como não estou acostumado (ainda) com MySQL não sei se estou com problema de código ou se é mesmo caracteristica da conexão. Grato, 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-4201 (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]