Como não?

Esse é um problema barra pesada.

 

Então vamos a um exemplo pratico para analisarmos o problema do colega.

 

O cara leva o note pra casa com a base toda sincronizada e tudo igual ao 
servidor.

 

Chega em casa ou no cliente e começa a cadastrar digamos um PEDIDO gerando com 
isso um novo código auto-incremento para este pedido.

Começa a incluir itens nesse pedido (gerando códigos auto-incremento para cada 
item) e pendurando esses itens no pedido.

Ai ele nota que esta faltando um produto no cadastro dele e cadastra esse 
produto.

 

Enquanto isso, na empresa o pessoal também esta lançando PEDIDOS e cadastrando 
outros produtos.

 

Quando ele voltar como vocês acham que vão conciliar isso tudo? Pela chave 
primaria (auto-incremento)?

 

Quando for jogar isso tudo no servidor, primeiro vai precisar incluir o produto 
que provavelmente vai ganhar um código diferente, depois incluir o pedido que 
também vai ter um código diferente e depois disso tudo inserir os itens e desse 
pedido apontando para o produto correto.

 

Ou seja, ClientDataSet não vai resolver. Ele não faz milagres. Isso requer uma 
ótima lógica, e muito trabalho.

 

[ ] s

 

 

De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Ricardo 
César Cardoso
Enviada em: segunda-feira, 5 de maio de 2008 17:27
Para: delphi-br@yahoogrupos.com.br
Assunto: RE: [delphi-br] Sistema on-line X off-line

 

Tb não consigo enxergar essa dificuldade de sincronização. Vc iria trabalhar 
com o Delta que é a grosso modo o conjunto de alterações que os dados 
receberam. Não há muito motivo pra preocupação com isso.

Atte,
Ricardo.

Rubem Nascimento da Rocha <[EMAIL PROTECTED] 
<mailto:djpardalrocha%40hotmail.com> > escreveu: 
Particularmente, num vejo problema em codificar uma rotina que copie os dados 
de um clientdataset local para um clientdataset com um provider para um banco 
de dados ou aplicação servidora e, neste ultimo, executar um ApplyUpdates. Que 
tipo de dificuldade vc vê na sincronização? Poderia enumerá-las para 
discutirmos no grupo?

Sds.

________________________________

To: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> 
From: [EMAIL PROTECTED] <mailto:rafael.jorge%40gmail.com> 
Date: Mon, 5 May 2008 17:06:14 -0300
Subject: Re: [delphi-br] Sistema on-line X off-line

primeiro respondendo a sugestao da conexao via internet.. nao é viavel pois
é justamente nao ter internet e um requisito dessa estrututra de off-line.
ja sobre quardar os arquivos em XML eu ja tinha pensado.. mas ai nao resolve
o problema de sincronismo. pq minha principal duvida e como eu vou
sincronizar a base sem ser uma rotina trabalhosa e demorada.
valeu pela atencao.
t+

2008/5/5 Rubem Nascimento da Rocha <[EMAIL PROTECTED] 
<mailto:djpardalrocha%40hotmail.com> >:

>
> De prima, uma alternativa seria fazer as manutenções com ClientDataSet,
> mantendo os dados salvos localmente em um arquivo binário ou XML. Soh teria
> que ver a questão de segurança pra esses dados não serem corrompidos ou
> sofrerem intervenção externa(proteção dos dados).
>
> Usaria um ClientDataSet pra editar os dados localmente, e quando fosse
> aplicar isso em um banco de dados, copiaria os dados deste ClientDataSet
> para um outro devidamente ligado ao provider de dados e neste ultimo
> aplicaria tudo no banco de dados. Obviamente q os dois ClientDataSets
> deveriam ter a mesma estrutura.
>
> Esta eh a minha humilde sugestao. Se alguem tiver ideia melhor, eh sempre
> bom compartilhar e discutir, principalmente aqui no grupo!
> Sds.
>
> ________________________________
>
> To: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> From: [EMAIL PROTECTED] <mailto:rafael.jorge%40gmail.com>  
> Date: Mon, 5 May 2008 16:49:20 -0300
> Subject: [delphi-br] Sistema on-line X off-line
>
>
> Vamos lá...
>
> Tenho uma aplicação que roda numa rede.. ai um cliente meu quer que ele
> possa pegar o note book dele por exemplo, com o sistema instalado nele
> sair
> mexendo a vontade no sistema na rede.. Incluindo, excluindo e alteando
> registros, ate ai tudo bem.. o trivial. Só que ele quer de vez em quando
> levar o note book pra casa e ainda assim trabalhar no sistema. E depois
> quando voltar sincronizar as informações.
>
> Minha pergunta é qual o melhor jeito de fazer isso?
>
> Tive a idéia de colocar uma tela de sincronização de dados. Onde eu digo o
> banco de origem e o destino.. Ai o sistema sai tabela por tabela, registro
> por registro vendo o que foi esta cadastrado no banco de origem que não
> tem
> no de destino e colocar ele la..
>
> Bem não to louco de fazer isso via programação, se eu abrir tabela por
> tabela (são 326) e registro por registro de cada uma procurando pra ver se
> já ta cadastrado alem de ser um trabalho gigante vai demorar muito. Então
> como faço isso via SQL? Como eu consulto em dois bancos ao mesmo tempo?
> Estou usando firebird 1.5.
>
> Outra coisa, como deve proceder de uma forma pra saber qual os registros
> foram inseridos em off-line (o PC fora da rede)? Pensei em colocar um
> campo
> pra servir como flag e quando o sistema tiver off line todo registro
> alterado ou incluído ficaria com essa flag. Ai quando a maquina voltasse
> pra
> rede ele sincronizava.
>
> Alguém já teve que fazer isso? Outra coisa... não vai ser apenas um pc que
> vai ficar off line não. Vai ser vários. E entre esse meio tempo os pc´s on
> line serão alimentados e tal.
>
> Obrigado.
>
> T+
>
> ----------------------------------------------------------
> Rafael jorge alves (Analista/desenvolvedor)
>
> www.sistemafocus.com.br
> sistema focus de gestão comercial e serviços em informatica.
> ----------------------------------------------------------
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> __________________________________________________________
> Conheça o Windows Live Spaces, a rede de relacionamentos do Messenger!
> http://www.amigosdomessenger.com.br/
>
>

--
----------------------------------------------------------
Rafael jorge alves (Analista/desenvolvedor)

www.sistemafocus.com.br
sistema focus de gestão comercial e serviços em informatica.
----------------------------------------------------------

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

__________________________________________________________
Conheça o Windows Live Spaces, a rede de relacionamentos do Messenger!
http://www.amigosdomessenger.com.br/

_

---------------------------------
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! 

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

 



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

Responder a