Query regarding database connectivity in db4o

2019-08-28 00:34发布

I'm creating a db4o object (namely Customer.yap) and if it is already created i just insert new objects into the existing object (namely Customer.yap) .

For both these operations i'm just using:

IObjectContainer db1 = Db4oEmbedded.OpenFile(Db4oEmbedded.NewConfiguration(),@"C:\Users\admin\Desktop\Db4oObjectFiles\Components.yap");

        try

        {

            db1.Store(comp1);

        }



        finally

        {

            db1.Close();

        }

Am i doing it right or is there a separate command to check if the object exists and then insert values or can i use the same code for both the operations meaning db4o automatically checks if the object exists at the specified location if it exists it inserts the objects other wise it creates the object at the specified location and then insert the object.

Please help me

Thanks in anticipation

PS: i'm doing this in the context of web application in asp.net and then there is this thought that is always lurking in my mind. should n't i be using the remote connection rather than storing it in actual physical location, but i could n't just figure it how does someone create and store objects in the context of remote connection. i don't know which parameters to specify namely host, port username and password and i even don't know how does some one create database connection what r the statements one should write in the program to connect to this remote object file.

Please please help me and guide me.

A big thanks to anyone in anticipation

1条回答
老娘就宠你
2楼-- · 2019-08-28 00:56

db4o automatically updates the object instead of inserting it but there's a catch: you'll have to keep your object container open. db4o works with a local cache that keeps track of stored objects, but once you call close() on the object container that local cash is gone. If you store a previously persisted after a close() on the object container you'll get a duplicate object (db4o thinks it's a new one). If you really have to close the object container and want to update an object you'll have to query for it on db4o, then update, then call store (and then you can close()).

With regards to how to connect to a remote db4o server please see: http://developer.db4o.com/Documentation/Reference/db4o-7.12/java/reference/Content/client-server/networked.htm

Best! (good luck!)

查看更多
登录 后发表回答