Eclipse Community Forums - RDF feed
https://www.eclipse.org/forums/
Eclipse Community ForumsCDO Usage with Oracle
https://www.eclipse.org/forums/index.php/mv/msg/789283/1395210/#msg_1395210
is it possible to use CDO with an Oracle Database Express Edition 11g, where objects are stored as xml-files?
I could not find anywhere if an CDO Oracle driver exists?
I need it to synchronise of EMF models in an existant application.
Thanks for your help,
Jeff]]>Jeff Bender2014-07-06T15:07:33-00:00Re: CDO Usage with Oracle
https://www.eclipse.org/forums/index.php/mv/msg/789283/1395267/#msg_1395267
There exists Net4j DB Adapter for Oracle database, (which we're using) however it will store CDO Objects in ORM way.
You will need to migrate you xml-data separately (which is pretty simple, with CDO Transfer Framework)]]>Leonid Ripeynih2014-07-06T17:16:56-00:00Re: CDO Usage with Oracle
https://www.eclipse.org/forums/index.php/mv/msg/789283/1395308/#msg_1395308
could not find any documentation to CDO Transfer Framework and am porbably not capable of understanding you completely, so I hope it is OK to ask you this question: Do I have to completely change the way my objects are stored,so that they are stored in ORM way instead of XML?
Or does it work this way:
on client 1 I create an object, it is stored as xml, than it is transferred with CDO transfer Framework on the fly to ORM, ORM data is synchronised through CDO server with other clients? So my main question is in fact if I have to change the main way of my data storage?
Thanks,
Jeff]]>Jeff Bender2014-07-06T18:48:42-00:00Re: CDO Usage with Oracle
https://www.eclipse.org/forums/index.php/mv/msg/789283/1395312/#msg_1395312
Thanks and Greets,
Jeff]]>Jeff Bender2014-07-06T18:51:22-00:00Re: CDO Usage with Oracle
https://www.eclipse.org/forums/index.php/mv/msg/789283/1395618/#msg_1395618
you will need to change the way you data is stored. Regarding CDO Transfer Framework - there is no tutorials or articles, but framework itself is very small and consice, so you can dig in by reading the code, and searching for usages. Javadoc is located here:
Load you XML files as models, then create corresponding CDO resources, then persist it. That can be done with transfer framework.]]>Leonid Ripeynih2014-07-07T06:26:10-00:00Re: CDO Usage with Oracle
https://www.eclipse.org/forums/index.php/mv/msg/789283/1395672/#msg_1395672
thanks for your advice, but in this case CDO won't work for me. It isn't my application, I must only customise it, so that it is persistent on multiple clients and I am afraid, I am not allowed to change the way the data is basically stored.
But still, thanks for your help and your advice.
Jeff]]>Jeff Bender2014-07-07T08:25:08-00:00Re: CDO Usage with Oracle
https://www.eclipse.org/forums/index.php/mv/msg/789283/1395676/#msg_1395676
Is Oracle XML a totally different database system than Oracle Relational? I guess there's no JDBC interface to that XML
thing. If there's none then the CDO DBStore is just not adequate.
Am 07.07.2014 10:25, schrieb Jeff Bender:
> Hi Leonid,
>
> thanks for your advice, but in this case CDO won't work for me. It isn't my application, I must only customise it, so
> that it is persistent on multiple clients and I am afraid, I am not allowed to change the way the data is basically
> stored.
> But still, thanks for your help and your advice.
>
> Jeff]]>Eike Stepper2014-07-07T08:29:04-00:00Re: CDO Usage with Oracle
https://www.eclipse.org/forums/index.php/mv/msg/789283/1395701/#msg_1395701
it is not a special Oracle XML DB. Sorry , as a newbie I should write concreter. It is an Oracle XE 11g DB, so there exists a JDBC interface for that. In this Oracle XE 11g I have an "Objects" Table.In this table my graphics, which I generate with GEF editors, are stored as variables of XMLTYPE datatype. In this XML all generated objects of my graphic are described with their name,class, position, colour, properties and so on. My goal now is to be able to work on the same graphics from two different clients so that each client gets live the changes of the other client.
As far as I understood Leonid for this scenario I won`t be able to use CDO, please correct me if I am wrong. I would also appreciate any advice of the best solution for my problem, because at the moment the onyl Solution I see is to addListeners to catch every change, then save my graphics, catch the change in DB, broadcast this change to all clients and reload the graphics (or the changed part of them) on the side of the other client (if he has the same graphics open), but it would more of a quick and dirty solution, because I am pretty sure I won't be able to handle all conflicts and so on properly, so CDO would be a much nicer solution
Thanks,
Jeff]]>Jeff Bender2014-07-07T09:14:17-00:00Re: CDO Usage with Oracle
https://www.eclipse.org/forums/index.php/mv/msg/789283/1395713/#msg_1395713
> Hi Eike,
>
> it is not a special Oracle XML DB. Sorry , as a newbie I should write concreter. It is an Oracle XE 11g DB, so there
> exists a JDBC interface for that. In this Oracle XE 11g I have an "Objects" Table.In this table my graphics, which I
> generate with GEF editors, are stored as variables of XMLTYPE datatype.
I wonder what makes this XMLTYPE any different from a String/VARCHAR.
> In this XML all generated objects of my graphic are described with their name,class, position, colour, properties and
> so on.
So from an EMF perspective it's just a big string.
> My goal now is to be able to work on the same graphics from two different clients so that each client gets live the
> changes of the other client.
The most important question is at what granule you want to distribute change? CDO generally identifies (and transports)
change at an EStructuralFeature granule. Most CDO stores, including the DBStore, store changes in an Object granule,
i.e., a new object revisions is written if at least one feature is changed.
That means you can not collaborate properly on your graphics if you store them in a single feature each. Each change to
such a graphic would likely result in merge conflicts at the other side(s).
> As far as I understood Leonid for this scenario I won`t be able to use CDO, please correct me if I am wrong. I would
> also appreciate any advice of the best solution for my problem, because at the moment the onyl Solution I see is to
> addListeners to catch every change, then save my graphics, catch the change in DB, broadcast this change to all
> clients and reload the graphics (or the changed part of them) on the side of the other client (if he has the same
> graphics open), but it would more of a quick and dirty solution, because I am pretty sure I won't be able to handle
> all conflicts and so on properly, so CDO would be a much nicer solution :)
I think no matter where you store your graphics you'll have a collaboration/distribution problem if you don't model how
the smallest units of these graphics are represented. But if you do that I see nothing that should prevent CDO from
being useful.