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

Tecnobyte Informática temp2 em tecnobyte.com.br
Sáb Jul 28 00:36:45 -03 2012


Complementando a resposta do Francisco...

No Firebird 2.5 existem as funções UUID_TO_CHAR e CHAR_TO_UUID que também 
podem ajudar.

Atenciosamente.

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

-----Mensagem Original----- 
From: Felix - SOL Informática
Sent: Friday, July 27, 2012 9:18 PM
To: 'FireBase'
Subject: [firebase-br] RES: Como fazer sincronismo entre base online 
eoffline

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>





Mais detalhes sobre a lista de discussão lista