[firebase-br] Chave primaria Guid

Mário Reis mariodosreyx em gmail.com
Sábado Março 13 17:06:26 -03 2021


Bem recomendo a leitura do link:
https://firebirdsql.org/refdocs/langrefupd25-intfunc-gen_uuid.html
Já usei com MSSSQLSERVER e guardava numa varchar(35) salvo erro. Já foi há
4 anos já não lembro bem
Com os meus melhores cumprimentos
Mário Agostinho Reis
919262146

Esta mensagem contém informação de natureza confidencial e é
exclusivamente dirigida ao(s) destinatário(s) indicado(s). Se, por engano,
receber este email agradecemos que não o copie nem o reenvie e que nos
notifique do ocorrido através do email de resposta.
[image: cloudHQ] <https://www.free-email-tracker.com> Powered by
cloudHQ <https://www.free-email-tracker.com>


Marcelo - MK Softwares via lista <lista em firebase.com.br> escreveu no dia
sexta, 12/03/2021 à(s) 22:58:

> Nessa questão de leitura o C# faz bem tranquilo, usando a dll
> FirebirdSql.Data.FirebirdClient. É só declarar uma propriedade em uma
> class com o tipo Guid e fazer a leitura/gravação no banco sem problemas
> algum.
>
> Agora se usar em string como o Cantu sugeriu, retorna erro de leitura
> gravação. Tentamos dessa forma mas sem sucesso, e só conseguimos
> solucionar quando mudamos o field para esse domain que compartilhei
> anteriormente.
>
>
> Em 12/03/2021 20:32, Carlos H. Cantu via lista escreveu:
> > 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
> >
> >
> > ______________________________________________
> > 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
> ______________________________________________
> 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
>


Mais detalhes sobre a lista de discussão lista