当oracle9i遭遇到windows server 2003(或windows xp),而你又在com+环境中使用了事务组件...
SYMPTOMS
When you open a Microsoft OLE DB provider for Oracle from a transactional component in Microsoft COM+ that uses an ActiveX Data Objects (ADO) connection, you may receive the following error message:
Run-time error '-2147430328 (8000d048)':
Method '~' of object '~' failed
And the following error is logged into the Event log:
Source: MSDTC
Category: XATM
Type: Warning
Event_ID: 53286
The XA Transaction Manager called the "GetXaSwitch" function in the XA resource manager DLL. The call to the "GetXaSwitch" function failed: File=d:\dnsrv\com\complus\dtc\dtc\xatm\src\xarmconn.cpp Line=2462.
For more information, visit the Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
CAUSE
By default, when you install Oracle 9.x clients, the NetworkServices account does not have access permissions to the Oracle folder. Because Microsoft Distributed Transaction Coordinator (MSDTC) runs under a NetworkServices account in both Windows Server 2003 and Windows XP, MSDTC cannot load Oracle DLLs. Because MSDTC runs as LocalSystem in Windows 2000, you do not experience this behavior on a Windows 2000-based operating system.
WORKAROUND
To work around this problem, provide the NetworkServices account with access to all Oracle folders.
STATUS
This behavior is by design.