Lembrando que estruturas que trabalham online o tempo inteiro, devem
controlar as transações e conexões com o banco de dados de forma BEM
diferente de estruturas locais.

Talvez vocês estejam querendo resolver um problema que não existe.
Conforme um colega já disse, conecte no banco, faça a operação desejada,
desconecte. Se a operação envolver select, traga os registros em um
TClientDataSet e desconecte. É muito mais fácil do que procurar chifre em
cabeça de cavalo e gastar dinheiro com componente.

-----Mensagem original-----
De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Eduardo Silva dos Santos
Enviada em: segunda-feira, 5 de julho de 2010 21:41
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] MySQL server has gone away

Olá Levy, para que não seja exibida a mensagem da desconexão tem que
conficar no Evento OnConnectionLost do TMyConnection:

RetryMode := rmReconnectExecute;

Quando a Dll, não ha necessidade de nenhuma, o mydac conecta diretamente ao
servidor.

quanto a demora para gravação dos dados, não deveria acontecer, tem que ver
mais detalhes.. como a mesta sendo feita.. para determinar a causa.


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 20:52, Levy Pereira <levypere...@yahoo.com> escreveu:

>
>
> 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<eduardo.drd%40gmail.com>
> >
> To: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.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 <eduardo.drd%40gmail.com>
> Site: http://www.drdsistemas.com.br/
> .......................................................
>
> Em 5 de julho de 2010 14:01, Levy Pereira
<levypere...@yahoo.com<levypereira%40yahoo.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]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>




Responder a