Oracle Rollback causing error with .NET 1.1

G

Guest

Hi,

I am calling a DBMS_Transaction.ReadWrite(); and later Rollback; from an
Oracle Stored Procedure. When I call this stored procedure with from an
ASP.NET page, using OracleClient.dll version 1.0.3.000 i get NO ERROR, but
when i use OracleClient.dll version 1.0.5.000 i get this ERROR;
"ORA-02074: cannot ROLLBACK in a distributed transaction".

Following is my configuration:
Windows XP, IIS 5.1
VS 2003, .NET framework 1.1
Oracle 9i Release 2

I have googled, tried searching MSDN but no one has given specific
resolution of the said issue although they say it is an issue :p.
Any insight will be most welcome ...
 
S

Sahil Malik [MVP C#]

There are just so many reasons why this could be happening - are you using
MSDTC? ENterprise Services?

SM
 
G

Guest

Its a standard 3-tier architechture, Browser(IE) - Web server(IIS) -
Database(Oracle). Why does it throw the error i mentioned with
OracleClient.dll version 1.0.5.000 and not with 1.0.3.000 ?
Iam using DBMS_Transaction because of nested procedure calls which use DML
statements, but i guess this is not the issue.
 
T

Thomas H

Which database version are you connecting to? Try adding this to your
connection string, I used to hit a similar error when working with 8i
clients using OLE DB- this will disable distributed transactions.
"DistribTX=0" Unless you /are/ using distributed transactions...

Have you "skipped" .NET and executed the procedure directly from inside
SQL*Plus? Try that first; that will eliminate OracleClient.dll completely;
maybe it's something inside the PL/SQL code that 1.0.3 couldn't catch. I've
seen that before in software, where an old version has a bug that doesn't
trap errors- so newer "fixed" versions cause an error in a different spot.

-Thomas H
 
G

Guest

As I mentioned I am using: Oracle9i Enterprise Edition Release 9.2.0.5.0
Setting DistribTX=0 in the connection string does not work.
Says: Keyword not supported: 'distribtx'
I used enlist=true and false, respectivly in the connection string to toggle
support for distributed transactions but to no avail. It threw the same error:
"ORA-02074: cannot ROLLBACK in a distributed transaction".
Also, FYI I did test my stored procedure first and then called it from the
application.
Khurram
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top