Suche Bidirectional Synchronization Lösung!

  • VB.NET
  • .NET 4.5

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von samson.

    Suche Bidirectional Synchronization Lösung!

    Guten Tag,

    Ich suche dringend nach einer Lösung für folgendes Problem:

    Ich entwickel gerade ein Programm, das mit 2 Datenbanken arbeiten soll (1 Lokal, 1 Remote) und möchte gerne, das alle neuen Daten auf der lokalen Datenbank gespeichert werden, wenn keine Verbindung zum Internet besteht. Sobald dann eine Verbindung hergestellt wurde, soll sich die lokale Datenbank mit der remote Datenbank synchronisieren. Ich habe alles soweit fertig außer den Code für die Synchronisation der beiden Datenbanken und da ich bislang keine brauchbaren Lösungsansätze finden konnte hoffe ich das mir hier jemand weiterhelfen kann.

    Vielen Dank!
    Hallo und Willkommen

    ChrisBe schrieb:

    Ich entwickel gerade ein Programm, das mit 2 Datenbanken arbeiten soll (1 Lokal, 1 Remote)

    ​Wusstet du vorher nicht? Mit was für einer DB? MS SQL, MySQL, Oracle? Du gibst uns leider wenig Infos.

    ChrisBe schrieb:

    Sobald dann eine Verbindung hergestellt wurde, soll sich die lokale Datenbank mit der remote Datenbank synchronisieren

    ​Warum besteht nicht immer eine Verbindung, nur aus reinem Interesse.

    ChrisBe schrieb:

    Ich habe alles soweit fertig außer den Code für die Synchronisation der beiden Datenbanken

    ​Und wie?? In welcher Architektur. Wenn du jetzt keinen DataAccessLayer gebaut hast wird es nachträglich sicher enorm schwierig sowas zu implementieren. Aber wie oben schon geschrieben wissen wir zu wenig um darauf eingehen zu können.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.
    OK, irgendwie wirft das mehr Fragen auf als es beantwortet. :)

    Geht es hier etwa um eine Handyapp?
    Ich würde hier sowieso empfehlen über ein Webservice zu arbeiten. Aber naja, gehört nicht hier hin.

    Leider weis ich nicht was genau du programmieren willst, anscheinend willst du es ja auch nicht verraten.
    Aber... im Normalfall bekommst du bei sowas imho immer Probleme.
    Angenommen jemand legt einen Datensatz an, dieser bekommen ein ID und jemand anderer legt einen an. Der würde die selbe ID bekommen. Der sync schlagt fehl.
    Und so geht das weiter mit diversen Operationen. Ich will jetzt nicht zu tief ins Detail gehen aber so einfach wird das nicht.

    Ich würde das vorhaben nochmal Gründlich überdenken und eine andere Möglichkeit der Übertragung wählen.

    Grüße
    Sascha

    Edit:
    @petaod Daran habe ich auch schon gedacht, aber ohne mehr zu wissen wollte ich das jetzt nicht vorschlagen.
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.
    Es geht um eine Software, mit der man Prüfprotokolle für medizinische Geräte erstellen kann. Diese sollen bei einer bestehenden Verbindung zum Internet auf einen Sql Server hochgeladen werden. Jedoch sollen die Daten gleichzeitig auch Offline verfügbar sein. Mein Problem liegt darin, den Code für die Synchronisation zwischen der lokalen und der remote Datenbank zu schreiben, da ich mich damit noch nie beschäftigt habe und die Tutorials von Microsoft nicht wirklich hilfreich sind. Die Synchronisation soll beginnen, wenn man auf einen dafür vorgesehenen Button klickt. Das Programm ist, bis auf die Synchronisation, soweit funktionsfähig. Ich wäre sehr dankbar, wenn mir jemand einen Beispielcode zeigen könnte oder mir eine Hilfe anbietet.

    Gruß Chris
    @ChrisBe
    Schon mal an einen Offset gedacht?
    Ich komme auch aus dem Medizinproduktebereich. ArztInformationsSysteme ;)
    Die Software die wir betreuen kann bis zu 20 Standorte ansprechen (Exchangebetrieb)
    Damit kann man beispielsweise 1 Masterreplikationsserver erstellen der einfach nur Datenhalter ist und 19 Standortserver damit replizieren...
    und an jedem Standortserver können bis zu 1000 Clients gleichzeitig arbeiten.

    Wenn nun an einem Standort das Internet/VPN wegbricht wird einfach normal weiter gearbeitet. Kommt das Internet/VPN wieder, wird einfach repliziert.

    Störanfälligkeit = 0