Manter duas bases sincronizadas

22/03/2006

0

Tenho uma pequena aplicação que usa base de dados Paradox. Atualmente roda em apenas uma máquina, mas o usuário está pensando em colocar uma cópia do sistema num notebook. Como as duas versões serão alimentadas, como eu poderia fazer para conseguir sincronizar as bases? Como o sistema é pequeno não compensa arcar com nenhuma solução de replicação paga.


Gandalf.nho

Gandalf.nho

Responder

Posts

22/03/2006

Edilcimar

Se o notebook não estiver ´em rede´ com o computador, basta zipar as tabelas e fazer a importação no notebook, eu uso este sistema entre lojas, onde as tabelas são zipadas pelo programa, enviadas pelo correio e restauradas pelo programa na matriz


Responder

22/03/2006

Aroldo Zanela

Colega,

Se eu entendi, o cara pode digitar em ambos e depois quer também que as informações digitada em cada um esteja nos dois.
Pensei em criar uma coluna para identificar a origem (filtro) e outra para identificar o registro.

Algo assim:

       +----Filtro
                                       |
Tabela A ------------------------------V----------
001213123131545465464654546465465465454A0000000001
646487979646463131315646131316461313212A0000000002

       +----Filtro
                                       |
Tabela B ------------------------------V----------
649794646464564979846464987946464646487B0000000001
649794646464564979835464975138564646487B0000000002
649797979879654654646464987946464646487B0000000003
649794646464565464646498876413134646487B0000000004
631354646465464979846464987946464646487B0000000004
149794646464564979846464645646464646487B0000000005
649794645146646464656464987946464646487B0000000006
131313156464564979846464987946464646487B0000000007
^        ^
|        |
+--------+--- Chave no arquivo

       +---------+--- Chave de sincronização
Sincronizando A c/ B                   |         |
       V         V
001213123131545465464654546465465465454A0000000001
646487979646463131315646131316461313212A0000000002
649794646464564979846464987946464646487B0000000001
649794646464564979835464975138564646487B0000000002
649797979879654654646464987946464646487B0000000003
649794646464565464646498876413134646487B0000000004
631354646465464979846464987946464646487B0000000004
149794646464564979846464645646464646487B0000000005
649794645146646464656464987946464646487B0000000006
131313156464564979846464987946464646487B0000000007

Sincronizando b c/ a

649794646464564979846464987946464646487B0000000001
649794646464564979835464975138564646487B0000000002
649797979879654654646464987946464646487B0000000003
649794646464565464646498876413134646487B0000000004
631354646465464979846464987946464646487B0000000004
149794646464564979846464645646464646487B0000000005
649794645146646464656464987946464646487B0000000006
131313156464564979846464987946464646487B0000000007
001213123131545465464654546465465465454A0000000001
646487979646463131315646131316461313212A0000000002



Responder

22/03/2006

Gandalf.nho

E no caso de alteração de um registro? Como identificar isso?


Responder

22/03/2006

Marcio.theis

O que eu fiz uma vez para um sistema foi criar em cada tabela um campo chamado DTULTMODIFICACAO, sempre que inseria um registro ou alterava eu setava com a data e hora corrente, e depois no final do dia rodava um programa que pegava todas as alterações e gerava em uma arquivo texto, zipava e enviava por e-mail, ao chegar na matriz o programa descompacta e importava todas as alterações e inserções novas, deu um pouco de trabalho mas valeu a pena... E outra coisa que surgiu como problema, foi ao excluir um registro, pois não podoa remover o mesmo da base de dados, então tive de criar um campo com o nome de TPEXCLUIDO, caso estivesse, não aparecia nas telas... Se for para um sistema pegueno, vale a pena, mas se for muito grande... acho que deveria de ver uma outra solução... pois o que mais encomoda neste caso é os registros excluídos.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar