[firebase-br] RES: Como fazer sincronismo entre base online e offline

Felix - SOL Informática felix em solsistemas.com
Sex Jul 27 22:18:56 -03 2012


SET TERM ^ ;
CREATE PROCEDURE GET_HEX_UUID
RETURNS ( REAL_UUID Char(16) CHARACTER SET OCTETS,
          HEX_UUID Varchar(32) )
AS
   declare variable i integer;
   declare variable c integer;
begin
   real_uuid = GEN_UUID();
   hex_uuid = '';
   i = 0;
   while (i < 16) do
   begin
      c = ascii_val(substring(real_uuid from i+1 for 1));
      if (c < 0) then c = 256 + c;
      hex_uuid = hex_uuid || substring('0123456789abcdef' from bin_shr(c, 4)
+ 1 for 1) || substring('0123456789abcdef' from bin_and(c, 15) + 1 for 1);
      i = i + 1;
   end
   suspend;
end^
SET TERM ; ^

Francisco Felix
www.solsistemas.com


-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Tecnobyte Informática
Enviada em: sexta-feira, 27 de julho de 2012 22:01
Para: FireBase
Assunto: Re: [firebase-br] Como fazer sincronismo entre base online e
offline

Boa noite Carlos

Estamos trabalhando em um sistema de venda externa que faz exatamente isto
que você está pensando em fazer, ou seja, usamos uma chave do tipo UUID
(GUID no idioma Microsoft). Não existe um tipo de dado específico para UUID
no Firebird, mas você pode usar:

- CHAR(16) se for gravar como binário
- VARCHAR(32) se for gravar somente letras e números
- VARCHAR(36) se for gravar formatado (com tracinhos)

No Firebird 2.5 existem funções para gerar UUID e converter UUID de binário
para formatado e vice-versa. No Delphi também é possível criar UUID com
relativa facilidade, usando API do Windows que gera GUID (que é praticamente
a mesma coisa que UUID, exceto que na versão formatada vem com abre e fecha
chave).

Funções no Delphi (Api do Windows):

CreateGUID
GUIDToString

Atenciosamente.

Daniel P. Guimarães
Tecnobyte Informática
www.tecnobyte.com.br

-----Mensagem Original-----
From: Carlos Phelippe
Sent: Friday, July 27, 2012 7:47 PM
To: FireBase
Subject: [firebase-br] Como fazer sincronismo entre base online e offline

Olá pessoal,
como devo construir uma base de dados que permite o trabalho online e
offline(para posterior sincronização?).

Por exemplo, tenho uma tabela onde irei armazenar os dados de uma pessoa.
Nesta tabela tenho apenas: nome, endereço e telefone da pessoa.

Pensei em criar um campo chave do 'tipo' GUID(nem sei se tem esse tipo no
Firebird).

ID(GUID)
Nome (String)
....

Estou complicando as coisas?

Desculpem a ignorância!
[http://www.digilab.com.br/wp-content/themes/Digilab/images/logo_digilab.jpg
]
Carlos Phelippe
Analista de Sistemas
+55 48 3234 4041
digilab.com.br<http://www.digilab.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





Mais detalhes sobre a lista de discussão lista