当你使用cm+分布式组件,并且应用服务器与数据库服务器不是同一台机器时,会遇到这样的错误。
环境:Windows XP sp2 、Sql Server 2000 sp4
异常详细信息:System.Runtime.InteropServices.COMException: 此事务已明地或暗地被确认或终止
堆栈跟踪:[COMException (0x8004d00e): 此事务已明地或暗地被确认或终止]
......
错误原因:用户访问应用服务器上com+组件,无法通过安全验证。
--------------------------------------------------------------------------------------------------------------
解决办法:禁用身份验证,并设置允许访问
1. 在windows 2003下需要在注册表中添加一个值,HKEY_LOCAL_MACHINE/Microsoft/MSTDC,添加键“TurnOffRpcSecurity”,值为“1”
2. 我的电脑->控制面板->组件服务->计算机->我的电脑,右键属性,选择MSTDC选项卡,点击按钮“Security Configuration..”,入下图配置:
保存修改,系统提示,重启MSTDC服务。