db4o Developer Community

db4o open source object database, native to Java and .NET
Welcome to db4o Developer Community Sign in | Join
in Search
More Search Options

DB zwischenspeichern

Last post 08-14-2008, 07:51 AM by skh. 4 replies.
Sort Posts: Previous Next
  •  08-06-2008, 10:09 AM 50538

    • skh is not online. Last active: 02 Sep 2008, 01:52 PM skh
    • Not Ranked
    • Joined on 08-06-2008
    • Zwickau, Sachsen (Germany)
    • Posts 3

    DB zwischenspeichern

    Ist es möglich die Objekte in der Datenbank vor dem schließen der session bzw. des ObjectContainers in die zugehörige Datei zuschreiben. Sowas wie ein flush. Ich nutze die DB hauptsächlich als Backup- und Persitenzsicherung meiner Programmdaten, so sollte es abstürzen oder unvorhergesen beendet werden, um dann den Programmzustand wiederherzustellen.

    Also kurz um... gibt es eine Möglichkeit außer db.openFile() und db.close() bzw. db.commit() und anschließendes auslesen der Daten, um die DB interne Refernz auf das externe Objekt wiederherzustellen?

     

  •  08-12-2008, 03:55 PM 50594 in reply to 50538

    Re: DB zwischenspeichern

    Hallo,

    leider verstehe ich nicht, was Du genau vorhast... Kannst Du das evtl. noch einmal genauer erklären, evtl. sogar mit einem kurzen Code-Beispiel odgl.?

    Grüße, Maik


    http://db4o.blogspot.com/
  •  08-13-2008, 02:06 PM 50615 in reply to 50594

    • skh is not online. Last active: 02 Sep 2008, 01:52 PM skh
    • Not Ranked
    • Joined on 08-06-2008
    • Zwickau, Sachsen (Germany)
    • Posts 3

    Re: DB zwischenspeichern

    Hallo,

    ich habe eigentlich nichts kompliziertes vor. Ich will db4o lediglich dazu zwingen zu einem von ir bestimmtenzeitpunkt die Daten in das Datenabankfile zu schreiben, was nur bei einem close() oder commit() passiert.

    Dadurch aber verliert db4o die Zugehörigkeiten der Objekte in der db und der die sich außerhalb im Programm befinden ,so dass ein set(Object) zu einem hinzufügen eines neuen und nicht zum update eines alten Objektes, in der db, führt.

    Damit ich nun nicht die Zugehörigkeiten verliere, öffne ich die DB beim Programmstart und update somit die objekte wenn sie sich ändern. Diese Änderungen will ich nun in die DB fest schreiben, so dass bei einem Programmabbruch die aktuellen Daten(Objekte) in der DB stehen und so beim nächsten Programmstart wiederhergestellt werden können.

    Ich hoffe es ist jetzt klar was ich beabsichtige. 

  •  08-13-2008, 06:48 PM 50619 in reply to 50615

    Re: DB zwischenspeichern

    Hi,

    also nach einem #commit() sollten die Objekt-Referenzen in Bezug auf db4o eigentlich in Ordnung sein, zumindest baue ich seit Jahren auf diesem Verhalten meine Anwendungen auf und habe damit noch nie Probleme gehabt (also z.B. keine verdoppelten Objekte odgl.). Du müsstest also doch einmal versuchen, einen möglichst einfachen "Testfall" zu konstruieren, damit man sehen kann, ob Du evtl. was falsch machst oder tatsächlich in einer bestimmten Konfiguration vielleicht doch ein Bug steckt.

    Grüße, Maik


    http://db4o.blogspot.com/
  •  08-14-2008, 07:51 AM 50628 in reply to 50619

    • skh is not online. Last active: 02 Sep 2008, 01:52 PM skh
    • Not Ranked
    • Joined on 08-06-2008
    • Zwickau, Sachsen (Germany)
    • Posts 3

    Re: DB zwischenspeichern

    Hallo,

    danke erstmal, ich werde mal ein paar Tests machen und mich dann wieder melden.

    Danke erstmal.
     

View as RSS news feed in XML