当oracle9i遭遇到windows server 2003(或windows xp),而你又在com+环境中使用了事务组件...

wangxj333 2003-08-19 12:12:38
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.
...全文
76 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangxj333 2003-12-15
  • 打赏
  • 举报
回复
sorry,一直没时间试.揭帖先.
谢谢各位的热心帮助.
接分
wangxj333 2003-08-21
  • 打赏
  • 举报
回复
“运行com+组件的账号”是不是在组件中访问oracle的用户名?
wangxj333 2003-08-20
  • 打赏
  • 举报
回复
谢谢!
方法2我一直在用啊。
至于方法1,是不是这样的:
在用户组ORA_DBA中添加Administrator用户(我就是用Administrator访问com+的)?
可惜上次发现错误时已经重装了win2000,没有环境测试了。
如果测出结果,一定及时通知大家。
谢谢!
ttyyee 2003-08-20
  • 打赏
  • 举报
回复
其实那段英文人家已经说得非常清楚了,问题的根源在于windwos 2000 和windows xp、windows 2003在用户的授权方式不同。我觉得解决问题的方法有两个:
1、你在oracle的服务器端进行权限检查,确保你运行com+组件的账号拥有访问oracle安装目录的权限。这个不用我教你吧!
2、把运行环境移回到windows 2000环境就可以了。
方法1我也没有试过,不过应该可以解决问题。如果方法2还是不能解决你的问题,老兄您该好好检查一下您的程序了。赶快试一下,把成果的结果贴出来。
wangxj333 2003-08-19
  • 打赏
  • 举报
回复
我就是不知道如何才能“provide the NetworkServices account with access to all Oracle folders”。
eastliangliang 2003-08-19
  • 打赏
  • 举报
回复
居然还有这种情况,究竟是微软不想支持ORACLE还是ORACLE不支持微软:)
找微软的技术支持。不过觉得像ORACLE的问题。
关注。

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧