PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → 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
Iniciado por Boller, fev., 04 2022 2:13 PM - Sem resposta
Membro registado
3.655 mensagems
Popularité : +175 (223 votes)
Publicado em fevereiro, 04 2022 - 2:13 PM
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/