[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Multidatabase transactions

coolgeng coolgeng

2/20/2008 7:11:00 AM

[Note: parts of this message were removed to make it a legal post.]

Hi guys,
I build a application with SQL server and Oracle. At the beginning,
there is no requirement to operate data between two database. But now I must
access both database at the same time. I chose the ActiveRecord, but it
could not resolve this problem. Now how can I deal with that?
Thanks a lot.

--
Best Regards
Cooper Geng

5 Answers

Robert Klemme

2/20/2008 7:36:00 AM

0

2008/2/20, coolgeng coolgeng <coolgeng410@gmail.com>:
> I build a application with SQL server and Oracle. At the beginning,
> there is no requirement to operate data between two database. But now I must
> access both database at the same time. I chose the ActiveRecord, but it
> could not resolve this problem. Now how can I deal with that?

I do not know of anything in Ruby land that would be able to do this
(which does not mean there is none). Basically you would need XA
support for this because we are talking distributed transactions here.
So the XA transaction would either have to be coordinated by Ruby code
or you would need a TX manager which you can access from Ruby like
this one for example:
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dnarsqlsg/html/msdn...

It may be that you can solve this using database links in Oracle.
However I was not able to determine whether the linked database needs
to be an Oracle DB as well (I would guess so).

If you do not have strict TX requirements and do not need queries to
return data from both databases you might get away with using two
independent DB connections. But this does not give you 2PC.

Kind regards

robert

--
use.inject do |as, often| as.you_can - without end

coolgeng coolgeng

2/20/2008 8:03:00 AM

0

[Note: parts of this message were removed to make it a legal post.]

Now I just try use commander like "transaction" to resolve this . However it
still some bug in this. It can not act as ACID. So .....
By the way, shall I migrate the data from one of database to another? But I
do not think it is a good idea.

On Feb 20, 2008 3:35 PM, Robert Klemme <shortcutter@googlemail.com> wrote:

>
> I do not know of anything in Ruby land that would be able to do this
> (which does not mean there is none). Basically you would need XA
> support for this because we are talking distributed transactions here.
> So the XA transaction would either have to be coordinated by Ruby code
> or you would need a TX manager which you can access from Ruby like
> this one for example:
>
> http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dnarsqlsg/html/msdn...
>
> It may be that you can solve this using database links in Oracle.
> However I was not able to determine whether the linked database needs
> to be an Oracle DB as well (I would guess so).
>
> If you do not have strict TX requirements and do not need queries to
> return data from both databases you might get away with using two
> independent DB connections. But this does not give you 2PC.
>
> Kind regards
>
> robert
>
> --
> use.inject do |as, often| as.you_can - without end
>
>


--
Best Regards
Cooper Geng

Robert Klemme

2/20/2008 9:03:00 AM

0

2008/2/20, coolgeng coolgeng <coolgeng410@gmail.com>:
> Now I just try use commander like "transaction" to resolve this . However it
> still some bug in this. It can not act as ACID. So .....

Pardon?

> By the way, shall I migrate the data from one of database to another? But I
> do not think it is a good idea.

With the little we know so far it's impossible to answer this question.

Cheers

robert

--
use.inject do |as, often| as.you_can - without end

coolgeng coolgeng

2/20/2008 9:23:00 AM

0

[Note: parts of this message were removed to make it a legal post.]

I mean in Rails. The key word "transaction" can resovle the Transaction.
However not for multidatabase transaction.
If I use the keyword 'transaction', some problems still come out.

On Feb 20, 2008 5:03 PM, Robert Klemme <shortcutter@googlemail.com> wrote:

> 2008/2/20, coolgeng coolgeng <coolgeng410@gmail.com>:
> > Now I just try use commander like "transaction" to resolve this .
> However it
> > still some bug in this. It can not act as ACID. So .....
>
> Pardon?
>
> > By the way, shall I migrate the data from one of database to another?
> But I
> > do not think it is a good idea.
>
> With the little we know so far it's impossible to answer this question.
>
> Cheers
>
> robert
>
> --
> use.inject do |as, often| as.you_can - without end
>
>


--
Best Regards
Cooper Geng

Robert Klemme

2/21/2008 6:58:00 PM

0

On 20.02.2008 10:23, coolgeng coolgeng wrote:

> I mean in Rails. The key word "transaction" can resovle the Transaction.
> However not for multidatabase transaction.
> If I use the keyword 'transaction', some problems still come out.

Sorry, no Rails experience here. I can't help you there.

Cheers

robert