Lokale MySQL-Datenbank-Kopie

  • Allgemein

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Lokale MySQL-Datenbank-Kopie

    Guten morgen zusammen,

    ich bin gerade an einem Programm beschäftigt welches mit einer MySql Datenbank arbeitet. Die Datenbank läuft auf einem externen Rechner. Die Daten sollen aber auch teilweise in einer lokalen Datenbank abgelegt werden können um eine Offlineverfügbarkeit zu gewährleisten wenn der Rechner einmal nicht im Netzwerk ist.
    Die Datenbank sollte auf jeden Fall nicht extra installiert werden müssen. Dabei habe ich an einen Sql Server Compact (Sql CE) gedacht den ich mit ohne Probleme in Visual Studio hinzufügen kann und der auch gleich mit installiert wird. Bei der Datenbank stört mich aber, dass die ganzen Datentypen anders sind und ich die kompletten connection Strings neu schreiben muss.
    Deshalb, hat jemand eine andere gute Idee wie ich die Datenbank erstellen könnte.

    Gruß Thorsten
    ich glaub prinzipiell heisst das "Replikation" bei microsoft - evtl. hat mySql einen anneren Begriff dafür - am besten auf Wiki gugge.
    dann die richtigen Begriffe googeln.

    Bei gut aufgebauter Architektur dürfte die Repliziererei nicht soon Problem sein: einfach an zentraler Stelle anneren Connectionstring einsetzen und fertig.
    So die Theorie ;)

    ich selber arbeite ja immer mit Ado.Net - typisierte Datasets, und zwar mit meim eigenen Framework: DBExtensions
    Dem isses egal, welche Datenbank man nutzt, das will eine DBProviderFactory und einen Connectionstring, und los gehts.

    Dabei ist auch der DBGenerator - der kann aus einem typDataset eine DB generieren.
    Also damit kann man schon relativ schnell einen DB-Wechsel umsetzen, oder den Grund-Aufbau erstellen für ein System mit Replikation.
    Ich habe mich nun mal etwas schlau gemacht über die Replikation von MySQL Servern.
    Aber so wo ich das sehe, muss ich doch bevor ich meine eigentliche Software verwenden will einen MySQL Server installieren mit dem ich die Replikation realisieren kann. Das Problem an der Sache ist, dass sie Software auf einigen Computern installiert werden soll und ich habe die Beführchtung, dass es dabei zu Problemen kommen kann. ?(

    Habe ich mich nicht richtig informiert oder gibt es eien Möglichkeit den Server in die Software einzubinden ohne dass ich ihn extra installieren muss?
    Nicht mit einer serverbasierten Datenbank.
    Du könntest eine filebasierte Datenbank wie SQLite verwenden.

    Wie du dann aber die Änderungen an den lokalen Kopien mit der "Zentraldatenbank" synchronisierst, ist nicht trivial.
    Es gibt zwar Tools wie SqliteSync, aber auch da liegt die Tücke im Detail
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --