[firebase-br] Replicar BD

Toy Ghilardi toyhardcore em gmail.com
Qui Abr 3 13:14:38 -03 2014


Ola Gustavo Luis,

Justamente por isso que eu falei pra ele criar um aplicativo que irá
monitorar essa tabela de "log" para obter os dados das respectivas tabelas
e depois limpar o "log".

Att,
Victor Henrique Ghilardi.
Gustavo Luis Hinterholz


Em 2 de abril de 2014 14:26, Gustavo Luis Hinterholz <
gustavoluishinterholz em gmail.com> escreveu:

> Isso ai tá com kra de LOG dai ... não replicação ...
>
> Att
> Gustavo Luis Hinterholz
> 9381-8192
> *http://gustavohinterholz.blogspot.com.br/
> <http://gustavohinterholz.blogspot.com.br/>* <http://www.gustavo/>
>
>
> Em 2 de abril de 2014 14:23, Toy Ghilardi <toyhardcore em gmail.com>
> escreveu:
>
> > Ola Wesley,
> >
> > O recurso que citaram de "replicação" que o firebird tem é o shadows que
> > não tem nada a ver com o que você quer.
> >
> > Uma vez li um artigo que coloquei em prática que é o seguinte.
> >
> > Criar uma tabela onde você vai gravar todas alterações ocorridas no banco
> > de dados nas tabelas que tenha interesse.
> >
> > CREATE GENERATOR NEW_CHANGE_ID;
> >
> > CREATE TABLE CHANGES (
> >     CHANGE_ID           INTEGER NOT NULL,
> >     CHANGE_TYPE         CHAR(1) NOT NULL,
> >     SOURCE_KEY_FIELD    VARCHAR(100) NOT NULL,
> >     SOURCE_KEY          VARCHAR(100) NOT NULL,
> >     SOURCE_TABLE        VARCHAR(100),
> >     SOURCE_KEY_2        VARCHAR(100),
> >     SOURCE_KEY_FIELD_2  VARCHAR(100),
> >     TIPO                CHAR(1)
> > );
> > ALTER TABLE CHANGES ADD PRIMARY KEY (CHANGE_ID);
> >
> >
> >
> > SET TERM ^ ;
> >
> > /* Trigger: CHANGES_NEWID */
> > CREATE OR ALTER TRIGGER CHANGES_NEWID FOR CHANGES
> > ACTIVE BEFORE INSERT POSITION 0
> > AS
> > BEGIN
> >     NEW.CHANGE_ID = GEN_ID(NEW_CHANGE_ID,1);
> > END
> > ^
> > SET TERM ; ^
> >
> > Depois em cada tabela que tiver interesse em replicar, tu cria uma
> trigger
> > assim:
> >
> > SET TERM ^ ;
> > CREATE OR ALTER TRIGGER CLIENTES_REPL_INSERT FOR CLIENTES
> > ACTIVE AFTER INSERT POSITION 0
> > AS
> > declare variable vUser varchar(15);
> > BEGIN
> >     INSERT INTO CHANGES
> >       (CHANGE_TYPE, SOURCE_KEY_FIELD,
> >        SOURCE_KEY, SOURCE_TABLE,USERNAME)
> >     VALUES
> >       ('I', 'CODIGO_CLIENTE', NEW.CODIGO_CLIENTE, 'CLIENTES');
> > END
> > ^
> > SET TERM ; ^
> >
> > Bem, agora todos clientes que forem cadastrados o sistema irá registrar
> na
> > tabela changes.
> >
> > Basta você criar uma aplicação que fique rodando e com base nos dados
> > gravados em changes, pegue os valores na tabela clientes e gere um insert
> > para rodar no outro banco.
> >
> > Abraço!
> >
> >
> >
> > Em 2 de abril de 2014 09:11, Wesley Oliveira <wesley em rgsystem.com.br
> > >escreveu:
> >
> > > Olá pessoal!
> > >
> > >
> > >
> > > Pesquisei um pouco na internet e achei alguns replicadores Firebird que
> > não
> > > funcionaram como eu queria... Será que vocês têm alguma idéia?
> > >
> > > É o seguinte:
> > >
> > >
> > >
> > > Quero ter duas bases de dados iguais em dois locais separados. Exemplo:
> > >
> > >
> > >
> > > Vou disponibilizar o acesso ao sistema na rede interna, mas quero
> deixar
> > o
> > > acesso Web num servidor em nuvens... Então teria a base para acesso
> > Desktop
> > > em um servidor interno e a base para acesso Web no servidor em nuvem.
>> > > que
> > > como preciso das informações de ambos acessos EM AMBOS ACESSOS, preciso
> > que
> > > as bases sejam idênticas o tempo todo. Tem algum componente Delphi ou
> > > aplicativo que faz isso?
> > >
> > >
> > >
> > > Agradeço a atenção de todos!
> > >
> > >
> > > Att.
> > >
> > > Wesley Oliveira
> > > Programador de Sistemas de Informação
> > >
> > > RG System Informática
> > > Fone:      +55 (27) 3727-1127
> > > Celular:    +55 (27) 99606-0038
> > >
> > >
> > >
> > >
> > >
> > > ______________________________________________
> > > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > > http://www.firebase.com.br/fb/artigo.php?id=1107
> > > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> > >
> >
> >
> >
> > --
> > toyhardcore em gmail.com.br
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 
toyhardcore em gmail.com.br



Mais detalhes sobre a lista de discussão lista