[firebase-br] Chave primaria Guid

Carlos H. Cantu listas em warmboot.com.br
Sexta Março 12 20:32:47 -03 2021


Acredito que você tenha que usar um string e não TBytes.

[]s
Carlos H. Cantu
eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br

CWvl> Criei desse mesmo jeito no banco, a questão é na aplicação pra ler esse
CWvl> dado.


CWvl> []'s
CWvl> Carlos Wilson
CWvl> Formosystem
CWvl> Informática e Automação Comercial

CWvl> Em 12/03/2021 15:57, Marcelo - MK Softwares via lista escreveu:
>> Aqui usamos C# e para resolver os problemas com guid, criamos esse 
>> domain, e funciona bem tranquilo.
>>
>> CREATE DOMAIN UUID AS CHAR(16) CHARACTER SET OCTETS COLLATE OCTETS;
>>
>>
>> Em 12/03/2021 15:44, Carlos Wilson via lista escreveu:
>>> Boa tarde a todos,
>>>
>>> Atravessei a madrugada pesquisando e não achei solução para o meu 
>>> problema. Utilizo o Unidac.
>>>
>>> Devido a tantos problemas com replicação e outros em sincronizar 
>>> bancos de várias filiais estou tentando migrar minhas PK para GUID
>>>
>>> depois de estudar em alguns lugares vi que a pk tem que ser criada 
>>> como Char(16) Octates. Dessa maneira a pk é gravada como bytes 
>>> binarios e o desempenho fica melhor ao indexar e usar como FK.
>>>
>>> No delphi fiz essa função para preenchimento da chave.
>>>
>>> function Tdm.IncUUID: TBytes;
>>> var
>>>   qry: TUniQuery;
>>> begin
>>>   qry := TUniQuery.Create(Self);
>>>   qry.Connection := DBConn1;
>>>   qry.SQL.Clear;
>>>   qry.SQL.Add('select GEN_UUID() from RDB$DATABASE');
>>>   qry.Open;
>>>   Result := qry.Fields[0].AsBytes;
>>>   qry.Free;
>>> end;
>>>
>>> Ao fazer o append ele chama essa função e parece que está 
>>> preenchendo. porém ao dar um post, acontece a excessao:
>>>
>>> Could not convert variant of type (array byte) into type (integer).
>>>
>>> Atualizei o Unidac mas o erro persiste, mas não sei mais o que posso 
>>> fazer. Alguém, por favor, pode me dar uma luz?
>>>
>>> Grato.
>>>
>> ______________________________________________
>> 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://www.firebase.com.br/pesquisa_lista.html

CWvl> ______________________________________________
CWvl> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
CWvl> Para saber como gerenciar/excluir seu cadastro na lista, use:
CWvl> http://www.firebase.com.br/fb/artigo.php?id=1107
CWvl> Para consultar mensagens antigas:
CWvl> http://www.firebase.com.br/pesquisa_lista.html




Mais detalhes sobre a lista de discussão lista