Microsoft KB Archive/320609

= PRB: Error Messages When a Web Method that Requires a Transaction Accesses Oracle Database =

Article ID: 320609

Article Last Modified on 4/8/2003

-

APPLIES TO


 * Microsoft Web Services Enhancements for Microsoft .NET 2.0

-



This article was previously published under Q320609



SYMPTOMS
If a Web method of a Web service is marked to require a transaction, and the Web method accesses Oracle, you may receive the following error messages:

Oracle client and networking components were not found. These components are supplied by Oracle Corporation and are part of the Oracle Version 7.3.3 or later client software installation. Provider is unable to function until these components are installed.

-or-

XACT_E_TMNOTAVAILABLE(0x8004D01B)



CAUSE
When the Microsoft Oracle OLE DB Provider enlists in a transaction, the provider must access the following registry keys:

HKLM\SOFTWARE\Microsoft\MSDTC\MTxOCI on Windows 2000 or Windows XP

HKLM\SOFTWARE\Microsoft\Transaction Server\Local Computer\My Computer on Windows NT 4.0

The Web service is running as a user who does not have access to these registry keys, and therefore does not have enough permissions to access the directory in which Oracle is installed.



RESOLUTION
To resolve the issue, make sure that the Web service is running as a user who has FULL PERMISSIONS to access these registry keys and to access the directory in which Oracle is installed. By default, the Web service runs as the ASP.NET user.



MORE INFORMATION
A similar error may occur if a serviced component runs in a COM+ library application that is called from an ASP.NET page or a Web service.

