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 '~' failedAnd 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.
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 '~' failedAnd 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.
找微软的技术支持。不过觉得像ORACLE的问题。
关注。
1、你在oracle的服务器端进行权限检查,确保你运行com+组件的账号拥有访问oracle安装目录的权限。这个不用我教你吧!
2、把运行环境移回到windows 2000环境就可以了。
方法1我也没有试过,不过应该可以解决问题。如果方法2还是不能解决你的问题,老兄您该好好检查一下您的程序了。赶快试一下,把成果的结果贴出来。
方法2我一直在用啊。
至于方法1,是不是这样的:
在用户组ORA_DBA中添加Administrator用户(我就是用Administrator访问com+的)?
可惜上次发现错误时已经重装了win2000,没有环境测试了。
如果测出结果,一定及时通知大家。
谢谢!
谢谢各位的热心帮助.
接分