当K3客户端登陆账套遇中间层事务创建失败时,常见解决方法包括:在服务器间添加hosts解析,检查并设置数据库与中间层服务器的分布式COM、TCP/IP协议、MSDTC服务等,重装MSDTC服务(若为ghost系统),或使用KDHELP工具进行账套事务错误修复。
当中间层和数据库分开部署的,K3客户端登陆账套时会遇到创建中间层事务失败,请联系管理员,一般我们的常用解决方式如下:
一、在【中间层】和【数据库】服务器里互相添加hosts解析,也可以检查下下面的hosts文件里有无额外添加的记录:
请参考以下操作添加host解析:
1、请您打开C:\WINDOWS\system32\drivers\etc\目录下,以记事本打开hosts这个文件
2、找到“127.0.0.1 localhost”,在此内容的下一行按照格式输入K3服务器的IP地址及计算机名,格式为:
“IP 计算机名”后保存文件;
二、上述操作都没有解决问题时,请确认数据库服务器、中间层服务器上的如下设置正确
1. 点击【服务器】电脑的开始——管理工具——组件服务——展开组件服务——点击我的电脑按右键点属性——在【默认属性】的标签页里确认已经勾上在此计算机上启用分布式COM,下面是连接,标识。
2. 点击【服务器】电脑的开始——管理工具——组件服务——展开组件服务——点击我的电脑按右键点属性——在【默认协议】标签页下面确认是:面向连接的TCP/IP协议
3. 点击【服务器】电脑的开始——管理工具——组件服务——展开组件服务——点击我的电脑按右键点属性——在【MSDTC】标签页里确认已经启动了MSDTC服务。然后点击“安全配置”——确认勾选了:网络DTC访问,允许远程客户端,允许远程管理,允许入站,允许出站
4. 点击【服务器】电脑的开始——管理工具——组件服务——展开组件服务——点击我的电脑按右键点属性——【COM安全】标签页里编辑限制里添加设置Everyone完全控制的权限。
三、如果中间层和数据库是ghost系统,请重装MSDTC:
1.点击开始---运行里输入:msdtc -uninstall 后重启
2.开机后再在开始运行里输入:msdtc -install 后重启
3.重启计算机后再到管理工具下的服务中找到Distributed Transaction Coordinator服务,确保处于启动状态。
四、当然了你也可以通过KDHELP修复工具进行:打开KDHELP-K/3相关-账套事务错误修复-加载K/3账套-修复账套即可(如果选择高级修复就会重装数据库的MSDTC,所以必须手动重启),由于KDHELP目前只支持在安装了K3的环境使用;
KDHelper.rar(191.08KB)
推荐阅读