Fórum Banco Firebird Delphi 3 Bancos Alimentando 1 #59420
08/02/2008
0
Tenho 4 filiais, todas com seu banco de dados, este recebe periodicamente atualizações de dados vindas da matriz, e estas filiais enviam dados de diversas tabelas para a matriz, mas isso só ocorre em 50¬ do tempo, ou seja, dia sim, dia não.
Preciso de uma forma para enviar estes dados sem que estes percam suas ligações com as outras tabelas.
Me sugeriram chave composta, mas não estou conseguindo fazer dar certo, ela dá erro de violação de key.
Alguma sugestão??? :?: Só quero enviar dados de várias pontas para um central e não perder as ligações entre tabelas.
Prover
Curtir tópico
+ 0Posts
08/02/2008
Edilcimar
Ex: \Filial1\Banco, \Filial2\Banco, ...\FilialN\Banco
Gostei + 0
08/02/2008
Prover
Não posso deixar em pastas diferentes, todos os relatórios e dados da mtriz são alimentados pelas filiais, se eu separar em bancos diferentes como vou poder ligar os dados em um mesmo relatório e como vou fazer comparações de dados entre as filiais? No meu caso esta solução não iria resolver. Preciso de todos os dados das filiais no banco da matriz, na verdade só há um banco na filial para o caso de uma queda na reve VPN ou internet que alimenta estas, dae o sistema segue funcionando e só alimenta a matriz quando a rede voltar.
Você tem mais alguma idéia? Qualquer ajuda é bem vinda.
Obrigado..
Gostei + 0
08/02/2008
Edilcimar
Se quiser ter apenas um banco, ele poderá ficar muito grande, mas neste caso você criaria um campo ´filial´, e faria as importações através de append e preencheria este campo ´filial´ com o número da loja, por ex:
Matriz = 1, FilialA = 2, FilialN = N
Gostei + 0
08/02/2008
Prover
E as chaves, tipo os registros 1,2,3,4 da tabela X ligados ao registro 1,2 da tabela Y na filial 1, dae quando forem para a matriz eles não podem ir com 1,2,3,4 ou o 1,2 pois já vai ter estes registros lá, como farei?
Tanto o 1,2,3,4 como o 1,2 são registros de autoincremento.
Quando forem salvos na tabela da matriz eles terão outras chaves e isso fará a ligação com as demais tabelas serem comprometidas..
O que sugere?
Gostei + 0
08/02/2008
Edilcimar
Gostei + 0
08/02/2008
Prover
Acho que me expressei mal, assim:
Problema:
Tenho 4 filiais, e uma matriz da empresa.
A matriz não está 100¬ disponível para acesso então existem 4 bancos de dados um em cada filial.. mais um banco central na matriz..
Eles são idênticos, mas cada filial gerencia seus dados e a matriz tem uma cópia de todos os dados das filiais, ou seja, cada vez que uma filial grava um dado ele é enviado para a matriz também..
Quando a matriz não está disponível, estes dados ficam nas filiais para serem enviados mais tarde.. (Aqui entra a parte do campo TRUE que vc falou, mas o problema é as chaves primárias)
O meu problema é o seguinte, tô usando banco de dados Firebird, e campos de chave primária com autoincremento, ou seja, ele vai crescendo sem o risco de se repetir... até ai tudo bem, o problema é quando envio para a matriz.. pois outras 3 filiais também estão enviando... e as chaves vão mudar.. e tabelas ligadas por chaves vão perder suas reias ligações..
Tem alguma idéia de como resolver isso?
Gostei + 0
08/02/2008
Edilcimar
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)