distributed transaction problem ?

distributed transaction problem ?

am 21.08.2007 17:42:13 von Matik

Hi,

MSSQL 2000 booth servers. Booth running DTC.

Now, the client application, is starting in DB1 a procedure.
The connection open to db, is within the transation opened from
client.

In the SP, I'm starting the transaction as well, with savepoint.

Unfortunately, I have to get data, from other linked server (DB2).

While performing query, the client application is recieving follow
messages:

If the query on DB2 is after a savepoint
------
Cannot go remote while the session is enlisted in a distributed
transaction that has an active savepoint

If the query, is before starting transaction in sp (save point as
well)
-----
The operation could not be performed because the OLE DB provider
'SQLOLEDB' was unable to begin a distributed transaction

Now ... I was trying to set xact_abort to on, before, and within the
transaction in SP.
But doesynt matter, it will not do.

While calling an SP from QA, it goes threw, with query on DB2 before
transaction inside SP.
For me, it is an information, that the problem which I get, is because
the client, while connecting to DB, is using it's connection within
transaction.

My question is: how can I, run this query on DB2, without affecting
changes on the client side ?

Below, small layout of this transactions stack

BEGIN TRANSACTION_1 (client side)
BEGIN TRANSACTION_2 (inside SP)
SAVE TRANSACTION_2

COMMIT OR ROLLBACK _TRANSACTION_2
COMMIT OR ROLLBACK _TRANSACTION_1 (client side)

where and with what option, put this query ?


Best regards - Matik