AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Diskussion IBExpert, Firebird 2.5 und UUID als PK

Diskussion IBExpert, Firebird 2.5 und UUID als PK

Ein Thema von Kostas · begonnen am 25. Jul 2014 · letzter Beitrag vom 26. Jul 2014
Antwort Antwort
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
695 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Diskussion IBExpert, Firebird 2.5 und UUID als PK

  Alt 26. Jul 2014, 19:40
Hallo,
wenn ich es richtig verstanden habe, setzt es voraus dass die Filiale eindeutig ist wegen dem Offset.
In meinem Fall ist das ein Problem. Natürlich wird es eine Vorgaben geben vom Konzern dass die
Version nicht kopieren werden darf um Konflikte zu meiden.
Ich hab so ein wenig Schweirigkeiten zu verstehen, was du mit den Bgriffen Filiale und Version
assoziierst.

Wenn ein Datensatz x auf der db 1 entstanden ist, bekommt der z.B. die id 1.000.000.000.1 und behält
die auch bis in alle Ewigkeit auf allen Datenbankinstanzen, in denen die Daten hineinkopiert werden.

Die Problematik, das jemand die db kopiert und dann von 2 zwei unterschiedlichen Rechnern weiter benutzt,
ist durchaus nicht unkritisch und ob du es glaubst oder nicht, genau so bei uns im Projekt mit den Maklern
genau so aufgetaucht.

Lösung: Du musst in der DB irgendeine hardwarespezifische Information hinterlegen, an der deine
Software erkennt, das es sich um eine Kopie handelt und damit der Offset ungültig ist und ab dem
Zeitpunkt dann zum Beispiel wieder im Defaultbereich neue Datensätze erfasst werden und die dann
wieder bei einer Synchronisation um einen neue Offset angehoben werden. Wenn das USB Sticks sind,
dann reicht normalerweise schon die Hardwareseriennummer des USB Sticks oder ggf sogar die
Partitionsnummer.

Das gibt zwar keine Garantie der Eindeutigkeit, ist aber auch nicht so wichtig, weil man ja nur den
Wechsel erkennen will.


@Holger, die UUID würde ich für dieses Projekt nicht benutzen
aber grundsätzlich wäre das eine sehr nützliche Funktion dass UUID Felder vom Typ
Octets automatisch konvertiert werden.
wir arbeiten dran
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
Firebird 5 Update und Know-how Workshop – 28.8.-29.08.2025 64546 Mörfelden - Walldorf
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.115 Beiträge
 
Delphi 12 Athens
 
#2

AW: Diskussion IBExpert, Firebird 2.5 und UUID als PK

  Alt 26. Jul 2014, 21:07
Hallo Holger,

du hast es schon richtig erfasst. Ich müsste irgendwie erkenne wann eine Installation berechtig ist Daten zu senden. Solange keine
Daten gesendet werden zum Kommunikationsserver ist es eh egal. Wenn ich Installation identifiziert habe, könnte ich ein Offset
anlegen. Der Schlüssel dazu ist die ClientDB.

Die aktive Installation kann sein, c:\Programme\MeinProgramm\Programm.exe
Der User könnte ein backup anlegen c:\Programme\MeinProgrammBackup\Programm.exe und irgendwann nutzen und Daten zum Server senden.
Was aber gehen muss ist, der User nimmt sein Stick steckt es im Bürorechner an, arbeitet und sendet Daten an den Server.
Danach geht er nach Hause mit dem Stick und steckt es in seinem privaten Rechner, arbeitet, und sendet Daten an den Server.

Eine Möglichkeit wäre, nach jedem Update ein Zähler zu incrementieren nach jedem Update und in beiden DBs Server und Client zu speichern.
Nur wen der Zähler identisch ist, kann der nächste Import durchgeführt werden. Damit habe ich immer noch nicht alles abgefangen,
aber es ist schon ziemlich weit.

Jetzt steht deine Variante mit BigInt und Range für die Installationen auch nichts mehr im Weg.

Ich werde jetzt mal beide Varianten weiter durchleuchten und mich dann für eine Entscheiden.

Dieser Samstag was jetzt Maximal Produktiv.

Wegen UUID, das finde ich Klasse Holger. Ich weis warum ich ein absoluter Fan von IBExpert bin.

Gruß Kostas
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz