Fórum Client independente do servidor ?? #263828
30/12/2004
0
O Client verificaria constantemente se o servidor estivesse ativo, caso tivesse beleza, ele gravaria os dados no servidor, bem como faria todas as operações no servidor, caso o Servidor não estivesse ativo, ele gravaria em um banco local e quando fosse detectado pelo Client q o servidor ficou ativo, ele automaticamente atualizasse as informações do servidor, ou seja, mandaria as informaçções do client desde a hora q o servidor parou até a hora q ele ficou ativo.
Wiltefran
Curtir tópico
+ 0Posts
30/12/2004
Bruno_fantin
Gostei + 0
30/12/2004
Dopi
A documentaçao é bem extensa no Help do Delphi, procure por ´Briefcase model applications´ e ´Using TClientDataSet´
Com o ClientDataset fica bem fácil, é só usar o metodo SavetoFile para gravar um snapshot do arquivo para um arquivo local... e depois usar o ApplyUpdates quando a conexão estiver disponivel...
Tb estou desenvolvendo um programa com essas caractereisticas... Ainda estou procurando uma maneira rapida para verificar se a conexão com o Servidor está disponivel.... pois tentar um SQLConnection.OPEN demora quase um minuto...
Gostei + 0
30/12/2004
Vinicius2k
Olá Daniel,
Talvez vc já tenha pensado nisso, mas uma idéia :
Se a comunicação com o banco for feita via TCP, ele tem um host e uma porta para o serviço, então vc pode utilizar um TCPClient (Paleta Indy Clients) para testar se o serviço e a porta estão ´on´...
Vc só não conseguirá detectar particularidades, como, por exemplo, se o banco de dados em si está disponível... Mas detectar o host e a porta já seria um bom começo.
Exemplo:
idTCPClient1.Host := ´localhost´; idTCPClient1.Port := 3050; try idTCPClient1.Connect; except on E: Exception do ShowMessage(´Erro na conexão !´ + #13 + E.Message); end; if idTCPClient1.Connected then ShowMessage(´Conectado !´); idTCPClient1.Disconnect;
T+
Gostei + 0
30/12/2004
Dopi
Tentei usando o idICPMClient (ping) mas o maldito só funciona no XP se o usuário for o administrador...
Tentei usando o SqlConection.Open dentro uma Thread que eu matava apos um Timeout... e não deu muito certo... pois o Open continuava rodando na Thread mesmo quando em matava ela....
Ou seja, tentei re-inventar a roda.... ;-)
com o idTCPClient1 o problema foi resolvido....
Valeu....
Gostei + 0
04/01/2006
Mordred
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)