PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 25 → Solução do Erro de chave duplicada em ambiente com mais de 6000 conexões simultâneas
Solução do Erro de chave duplicada em ambiente com mais de 6000 conexões simultâneas
Débuté par Boller, 04 fév. 2022 14:13 - Aucune réponse
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Posté le 04 février 2022 - 14:13
Bom dia a todos

Abaixo segue o relato do Rinaldo como ele solucionou o problema no ambiente dele:

Bom dia Adriano

Só para te dar um retorno de como resolvi a questão do ID duplicado no PG, pois pode servir para mais alguém.

Eu criei um campo STRING como chave única e coloco nele o UUID gerado pela função GetUUID() antes de dar um HAdd()

Aí alterei o ID anterior para ficar apenas como campo numérico e não sendo mais auto-incremento nem chave única.

Fiz também um programinha para colocar esta função nos registros que já existiam no usuário.
Desta forma parou de ocorrer aquele erro de ID duplicado.

Pode ser em qualquer banco, pois a função é do WD

Exemplo

//código único
sUUID is string = GetUUID()
salarioscontribuicao.salarioscontribuicaouuid = sUUID


Eu fiz na unha, aí serve em qualquer banco. Tem que colocar o campo antes de dar um HAdd(), senão dá erro de chave duplicada.

GetUUID (Função)
Calcula um Identificador Único Universal de 128 bits ("UUID").
Este identificador é único no mundo, independentemente da máquina em que foi produzido.

Tem também a função GETUUID256()

O bom é que é um ID que nunca mais muda, mesmo se copiar o registro e adicionar em outra tabela

RESOLVIDO!!!!

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/