[firebase-br] Chave primaria Guid
Carlos Wilson
cwfsa1 em gmail.com
Sexta Março 12 15:44:57 -03 2021
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.
--
[]'s
Carlos Wilson
Formosystem
Informática e Automação Comercial
Mais detalhes sobre a lista de discussão lista