Hoe krijg je een goede willekeurige ID van 10 tekens?

0000003252     -      22-10-2024

Mercator gebruikt in verschillende kolommen van de database willekeurige waarden van 10 tekens (ident). In C# worden deze waarden gegenereerd door Api.Ident(). In SQL wordt vaak right(newid(), 10) gebruikt. Deze oplossing is echter niet ideaal omdat newid() een hexadecimale weergave van een byte-reeks retourneert. Hierdoor worden alleen de tekens 0-9 en A-F gebruikt, wat neerkomt op slechts 16 verschillende tekens.

De methode Api.Ident, daarentegen, gebruikt 36 tekens: A-Z en 0-9.

Het gebruik van een kleiner aantal tekens verhoogt de kans op duplicaten.

Daarom raden we aan om de volgende SQL-syntaxis te gebruiker om een ident te genereren:

declare @ident char(10)
exec SP_IDENT @ident output
select @ident

 

Aantal mogelijke combinaties voor 10 tekens bij gebruik van:

  • 16 tekens: 1610 = 1 099 511 627 776
  • 36 tekens: 3610 = 3 656 158 440 062 976


Functionele cookies: Cookies die nodig zijn voor het gebruik van de website en voorkeurscookies. Ze bevatten geen persoonsgegevens. (Meer informatie)

Analytische cookies: Verzamelen van statistieken met betrekking tot het gedrag van internetgebruikers. (Meer informatie)

Marketingcookies: Om bezoekers op verschillende websites te volgen voor advertentiedoeleinden. (Meer informatie)