用户管理提示“新事务不能登记到指定的事务服务器”?
在Windows 2003环境下安装使用K/3中间层,在使用用户管理功能时,可能会出现以下错误提示,一般可以从以下几个方面分析,解决。
1. 组件注册问题
在Windows 2003中,K/3中间层的组件注册会有两个不正常,在组件管理中不能显示组件名称,而是一长字符串:
8005BBB8-E3B0-11D5-9FA1-00E04C54B3B6 组件名称应为:KdSvrMgr.clsAct
F004846C-E7A2-11D5-9FAB-00E04C54B3B6 组件名称应为:TransXmlLib.clsXml
由于这两个COM+组件不能正确地解析名称,在使用中,第一个会引发上面的用户管理问题,第二个会引起注册组件不能通过的问题。
目前我们通过手工修改注册表来解决这个问题,以K/3V10.0为例(对于其他版本都需要通过查看组件的VBR文件确定这里的组件UUID),将下面的内容用记事本保存成.reg文件,然后双击执行添加到注册表中即可。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\AppID\{8005BBB8-E3B0-11D5-9FA1-00E04C54B3B6}]
"RunAs"="Interactive User"
@="KdSvrMgr.clsAct"
[HKEY_CLASSES_ROOT\AppID\KdSvrMgr.exe]
"AppId"="{8005BBB8-E3B0-11D5-9FA1-00E04C54B3B6}"
[HKEY_CLASSES_ROOT\AppID\{F004846C-E7A2-11D5-9FAB-00E04C54B3B6}]
@="TransXmlLib.clsXml"
"AuthenticationLevel"=dword:00000000
"RunAs"="Interactive User"
[HKEY_CLASSES_ROOT\AppID\transxmllib.exe]
"AppId"="{F004846C-E7A2-11D5-9FAB-00E04C54B3B6}"
2. IP地址解析问题
另外一种原因就是中间层、客户端不能按照数据库服务器的IP地址解析机器名。
解决方法是在中间层、客户端、数据库双方的hosts文件中分别加入其他两个机器的IP地址和机器名,另外更加保险的做法是在各自的TCP/IP协议的Wins中加入其他两个机器的IP地址。
3. 设置问题
对于Windows 2003+SP1,需要设置组件服务的属性中的“安全配置”的“事务管理器”通信卫“不要求进行验证”,系统默认值是“要求对方进行验证”。
本文转自 lcpljc 51CTO博客,原文链接:http://blog.51cto.com/lcpljc/328958,如需转载请自行联系原作者