电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

K3 WISE客户端访问服务器连接问题解决方案

来源:金蝶云社区作者:金蝶2024-09-1617

K3 WISE客户端访问服务器连接问题解决方案

K3 WISE客户端访问服务器连接问题解决方案


注:因windows操作系统10月、11月安全更新,DCOM安全变更,客户端电脑无法再通过仅来宾或匿名方式和服务器通讯,因此,如有更新windows 10月、11月安全更新补丁,出现客户端连接服务器出现需要对象或拒绝的权限,请参考如下方案处理:

https://wenku.my7c.com/article/370602477613629440


 另为了系统安全,后续的方案中尽量不要选用仅来宾模式使用!!!


因Windows操作系统一直在迭代升级,K/3 Wise老版本发版的一些一键配置工具、一键配置精灵,大部分是按仅来宾模式使用,所以如果配置经典后,不要再使用这些工具去配置服务器!!!

1 概述

K/3 Wise是客户端/服务器(即C/S)架构,所以客户端需要正常使用,必须正常连接访问服务器,从服务器获取功能支持和数据支持。所以出现连接问题,可能是客户端上的原因,也可能是服务器端的原因,如所有客户端无法连接优先从服务器上找原因,如部分客户端或单个客户端无法连接问题基本在客户端或客户端访问服务器的网络上等。

金蝶K/3 系统遵循微软Windows DNA框架结构,基于三层结构技术,故GUI客户端访问服务器必须有RPC服务、MSDTC服务等的支持,确保DCOM通讯的正常,才能保障客户端和服务器的连接访问正常。

从而大部分连接问题也就需要从上述切入检查,基本可概括为以下三个方面的问题:

w   RPC服务:涉及通讯端口135号端口以及RPC服务

w   MSDTC服务:涉及MSDTC是否正常运行、组件服务配置是否正确、DCOM动态端口是否开放访问

w   Windows身份验证:不同计算机之前身份验证,如网络访问方式为仅来宾或经典模式下的配置情况,其他身份验证策略设置等,以及不同版本系统、不同补丁下对于身份验证安全性的不同而影响验证等

※ 具体问题的排查分析参见后续详细讲解。

2 K/3 Wise 基础架构

         金蝶K/3 系统遵循微软Windows DNA框架结构,基于三层结构技术,K/3系统是典型的三层结构应用,由数据库、中间层、客户端三层构成,此外HR/Web系统为可选部件:

w   数据库——安装数据库产品和K/3数据库服务部件,目前K/3系统支持的数据库产品是Microsoft SQL Server,所有的业务数据都存储在这里;

w   中间层——包括所有业务系统的业务逻辑组件,这些组件会被客户端所调用,是K/3系统的核心部分;

w   客户端——K/3客户端桌面应用程序,基于Windows GUI,安装在业务系统操作人员的机器上;

w   HR/Web系统——基于IIS提供K/3人力资源、管理门户、CRM等WEB服务。

image.webp

更详尽的K/3产品技术架构说明请参阅安装包中HELP目录中的《金蝶K/3技术白皮书》和《金蝶K3Wise系统管理员手册》 。

3 K/3 Wise 服务器基础环境安装配置及客户端基础配置

         我们在处理连接问题之前,应先确保服务器基础环境配置正常,正确的服务器配置是服务器稳定高效运行和客户端正常连接的前提,服务器的基础环境配置主要针对操作系统的配置,下面就操作系统基础环境在安装部署之前应该需要做好的配置做简单的概述。

3.1 服务器操作系统基础环境配置

3.1.1 服务器管理器安装必要服务角色和功能

1、以具有本机系统管理员的身份登录,关闭其它应用程序,特别是防病毒软件。

2、打开开始菜单--选择服务期管理器--添加角色功能,按照向导,勾选“应用程序服务器”以及“WEB服务器(IIS”:

image.webp

3、功能中.NET3.5以及.NET4.5的功能都需要勾选,还需要勾选IIS可承载web核心 :

image.webp

4、下一步后,选择应用程序服务器的角色服务,应用程序服务器的角色服务必须选择COM+网络访问,最好全选:

image.webp

5、下一步,选择Web服务器角色的角色服务,建议全选Web服务器和管理工具:

image.webp

6、下一步确认等待安装完成即可,如提示需要重启,请按提示重启再进行后续操作。

 

※ 如果操作系统为Windows Server 2016及以上版本,系统不提供独立的“应用程序服务器角色”安装,需要调整注册表,启用COM+网络访问:

通过修改注册表实现安装“COM+网络访问”;

1、在该服务器上依次打开【开始】→【运行】,输入“regedit”,打开注册表编辑器;

2、找到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\”,将“RemoteAccessEnabled”的值修改为“1”后【确定】即可。

 

3.1.2 配置组件服务

1、打开运行,输入“Dcomcnfg”打开组件服务;

2、依次展开“组件服务”-“计算机”-“我的电脑”,鼠标右键“我的电脑”选择“属性”,切换到“COM安全”,分别在访问权限和启动和激活权限下的“编辑限制…”中选择Everyone和ANONYMOUS LOGON用户,勾选所有本地和远程的允许复选框:

image.webp

3、展开“Distributed Transaction Coordinator”,鼠标右键“本地DTC”,选择“属性”,如图所示,勾选“网络DTC访问”,及勾选允许远程客户端、允许远程管理、允许入站、允许出站、不要求进行验证、启用XA事务:

image.webp

4、点击“确定”,根据提示自动重启MSDTC服务后,即配置完成组件服务。

5、部分服务器Distributed Transaction Coordinator服务默认为手动启动,运行中输入“services.msc”打开“服务”,找到“Distributed Transaction Coordinator”服务,设置启动类型为“自动”或“自动(延迟启动)”。

 

3.1.3 配置IIS

(如中间层不需要提供web访问、不需要合并报表和HR,该配置可忽略)

1、开始运行,输入“inetmgr”打开IIS管理器。

2、选中起始页下的WEB服务器名称,在右边窗体中,双击“ISAPI和CGI限制”,确认.net2.0和.net 4.0设置限制为“允许”:

image.webp

3、展开服务器-网站-默认网站(Default Web Site),如图:

image.webp

4、双击“ASP”,在“启用父路径”中选择“true”,设置正确后,点击右上角的“应用”保存设置:

image.webp

5、选择“应用程序池”,在右边窗体分别选择KingdeeK3Net和KingdeeK3Net4,选择其“高级设置”,设置“启用32位应用程序”为“True”,点击“确定”,保存设置:

image.webp

 

3.1.4 配置防火墙

防火墙的配置需要开启对应的默认策略和自定义端口和例外程序,保障K3客户端和服务器的通讯不受限制,具体可参考如下设置:

3.1.4.1 服务器上需要开启的防火墙策略

打开管理工具-“高级安全 Windows 防火墙”,在入站规则中,启用“COM+ 网络访问(DCOM-In)”一个规则和“分布式事务处理协调器 (***)”三个规则;在出站规则中,启用“分布式事务处理协调器”(TCP-Out),如图所示:

image.webp

image.webp

image.webp

3.1.4.2 中间层服务器上开放的端口

1、TCP端口135,RPC服务的固定端口,不能改。

2、TCP端口5159,加密服务固定端口,不能改。

3、TCP端口8189,HR客户端端口,不能改。

4、DCOM动态端口,DTC默认的动态端口为TCP 1025--65534,可以更改,可将端口设置到较小范围,一般设置500个连续端口即可,如5000-5500。

附:动态端口设置方式:

打开运行,输入“Dcomcnfg”打开组件服务;依次展开“组件服务”-“计算机”-“我的电脑”,鼠标右键“我的电脑”选择“属性”,切换到“默认协议”,选中“面向连接的TCP/IP”,点击“属性”,“添加”设置需要的连续端口范围,如5000-5500,确定完成保存设置即可:

image.webp

此外如果有下列服务(如不使用相关功能,可不开放),需要开通如下端口:

1TCP端口 5150,门店系统使用的数据同步端口。可以在门店系统中更改。

2TCP端口5678IMTS远程传输系统端口。可以在IMTS系统中更改。

3HTTP端口80,合并报表系统需要调用的http端口,可以在IIS设置更改。

4TCP端口8185HR客户端使用。

3.1.4.3 数据库服务器上开放的端口

1、TCP端口135端口,RPC服务的固定端口,不能改。

2、TCP端口1433,SQL服务的默认实例的默认端口,可以在SQL Server中更改。

3、DCOM动态端口。DTC默认的动态端口为TCP 1025--65534,可以更改,可通过设置将动态端口改到较小范围,一般设置500个连续端口即可,如5000-5500

3.1.4.4 WEB服务器上开放的端口

1、TCP端口135端口,RPC服务的固定端口,不能改。

2、TCP端口80端口,K3WEB网页端访问和HR网页端访问端口,可在IIS中更改。

2、TCP端口5159,加密服务固定端口,不能改。

3、TCP端口8189,HR客户端端口,不能改。

4、DCOM动态端口,DTC默认的动态端口为TCP 1025--65534,可以更改,可将端口设置到较小范围,一般设置500个连续端口即可,如5000-5500。

3.2 客户端基础配置

3.2.1 配置组件服务、重置MSDTC

1、打开运行,输入“Dcomcnfg”打开组件服务;(或者控制面板-管理工具-组件服务打开)

2、展开“组件服务”-“计算机”-“我的电脑”-“Distributed Transaction Coordinator”-“本地DTC”,右键选择“属性”

3、切换到“安全”选项卡,勾选“网络DTC访问”、“允许远程客户端”、“允许远程管理”、“允许入站”、“允许出站”、“不要求进行验证”,确定保存即可。如图:

image.webp

 

4、 如组件服务器异常,我的电脑上有向下的红色箭头,参考如下重置MSDTC:

        ① 删除注册表中的键:

                  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC

                  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC

                  HKEY_CLASSES_ROOT\CID

         ② 开始菜单搜索cmd,匹配出“命令提示符”,右键以管理员身份运行;(或者找到c:\windows\system32\cmd.exe,鼠标右键选择“以管理员身份运行”)

        ③ 停止MSDTC服务:net stop msdtc

        ④ 卸载MSDTC服务:msdtc -uninstall (卸载后重新启动电脑)

        ⑤ 重新安装MSDTC服务:msdtc –install

⑥ 启动MSDTC服务:net start msdtc

3.2.2 添加配置hosts解析

(非必要配置,局域网NetBIOS解析异常的环境需要配置)

1、依次打开到C:\WINDOWS\system32\drivers\etc\目录下;

2、用记事本打开hosts文件(如果不存在新建hosts文件,不要任何扩展名);

3、找到“127.0.0.1  localhost”,或直接在文件最后一行回车到下一行按照“IP地址    服务器计算机名”的格式输入hosts解析记录,如“192.168.1.2    K3Server”,然后【保存】

image.webp

4、如果保存提示需要“另存为”,取消暂不保存,因权限不足导致,需要设置hosts权限后再进行保存:

① 鼠标右键hosts文件,选择属性,切换到安全,点击编辑-添加,在“输入对象名称来选择”中输入everyone(或当前登录操作系统的用户名如administrator),点击“检查名称”,名称正常后,点击“确定”:

image.webp

② 选择Everyone,勾选“完全控制”的允许权限,点击“确定”保存,会有一个安全警告提醒,选择“是”即可:

image.webp

③ 确认Everyone有完全控制权限允许权限后,点击“确定”完成权限设置:

image.webp

5、再重新保存hosts文件即可。

3.2.3 添加服务器Windows凭据

(非必要配置,客户端访问服务器身份验证异常时配置)

1、打开“控制面板”-查看方式设置“大图标”,找到“凭据管理器”(或者运行中输入:control keymgr.dll 回车,如是xp系统只能使用该方法打开

image.webp

2、打开凭据管理器,切换到“windows凭据”,点击“添加windows凭据”

image.webp

3、在添加windows凭据界面,分别输入正确的服务器IP地址或计算机名、服务器管理员用户名和密码,点击“确定”完成

image.webp

4、部分系统添加凭据后需要重启才能生效,建议添加后,重启电脑。

5、Windows XP操作系统中打开“运行”,输入“ control keymgr.dll ”回车,即可打开“存储用户名和密码”窗口,单击“高级”选项卡,然后单击“管理密码”,添加服务器的IP地址、用户和密码,确认退出后,重启电脑。

3.2.4 客户端上防火墙限制设置

1、TCP端口135,不能更改。

2、允许例外程序:正常开启防火墙状态下,打开K3客户端,会自动弹出访问控制界面,点击允许即可,系统自动添加下述程序到防火墙入站规则例外程序:kdmain.exe和kdmainnet.exe。

4 K/3 Wise 客户端服务器连接访问问题分类

本文档如未特别说明,默认为同一台服务器部署中间层和数据库、Web服务器。※

本文处理的连接问题均是登录客户端提示:“无法创建K/3中间层组件,请确定中间层组件配置正确或当前用户拥有相关权限后重试”或打开没反应的问题,不针对打开客户端有其它明确报错信息的。※

4.1 按C/S架构(客户端/服务器)分类

K/3 Wise的C/S架构是多客户端模式,即可以同时多客户端访问服务器,所以可以通过初步分析来确认连接问题是发生在服务器还是客户端来更快定位和处理问题,大概可以分为如下几类情况:

1、 所有客户端无法连接服务器,同时服务器上客户端也无法登录

2、 所有客户端无法连接服务器,但服务器上客户端登录正常

3、 个别客户端连接服务器不正常,其他客户端正常连接访问服务器

4.2 按系统DNA框架原理分类

金蝶K/3 系统遵循微软Windows DNA框架结构,基于三层结构技术,故GUI客户端访问服务器必须有RPC服务、MSDTC服务等的支持,确保DCOM通讯的正常,才能保障客户端和服务器的连接访问正常,因此可从原理上分析排查问题发生的原因来更快定位问题,连接访问原理问题的定位,一般可通过“远程组件配置工具”测试来大致定位分析:

1、  没有注册类

2、  RPC服务器不可用:{所有客户端} {个别客户端}

3、  网络中间层连接失败,请检查是否正确安装了正确的中间层组件:{所有客户端} {个别客户端}

4、  请确保中间层上的组件为最新版本:{所有客户端} {个别客户端}

5、  中间层服务器不能作为远程服务器,可能是Windows 9X:{所有客户端} {个别客户端}

6、  创建中间层对象错误,需要对象或拒绝的权限:{所有客户端} {个别客户端}

※  此处需要注意,需测试“加密服务”,因其他组件的报错可能是因补丁不一致导致,而非客户端和服务器连接问题,即如果加密组件测试通过,即说明客户端和服务器连接正常,只有kdsvrmgr加密组件测试无法通过的情况下,才是存在连接问题!

※  WIN7操作系统存在RPCbug,如果是前部分组件测试通过,后部分组件全不通过,安装资源盘中操作系统补丁KB2401588KB2815853

5 分析思路及解决方案

5.1 所有客户端无法连接服务器,同时服务器上客户端也无法登录

5.1.1 账套管理打开正常,客户端无法登录

5.1.1.1 客户端登录提示:“中间层创建事务失败,请联系系统管理员!”高级显示:错误代码:5(5H)

上述报错分两种情况:

1、              中间层服务器和数据库服务器在同一台服务器上

【分析原因】

         同一台服务器上创建事务失败,因中间层无法通过分布式事务处理协调器访问数据库导致,检查分布式事务处理协调器服务。

【操作步骤】

①   、在服务器上依次打开【开始】→【控制面板】→【管理工具】→【服务】,找到“Distributed Transaction Coordinator”,确保该服务存在且为正常运行状态,若显示“停止”,则手工启动,正常启动后登录K/3即可;同时将该服务启动类型设置为“自动”;

②   、若服务不存在或启动时提示错误,请参考以下步骤尝试修复MSDTC服务:

删除注册表中的键:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC

HKEY_CLASSES_ROOT\CID

                   开始菜单搜索cmd,匹配出“命令提示符”,右键以管理员身份运行;(或者找到c:\windows\system32\cmd.exe,鼠标右键选择“以管理员身份运行”)

停止MSDTC服务:net stop msdtc

卸载MSDTC服务:msdtc -uninstall (卸载后重新启动电脑)

重新安装MSDTC服务:msdtc –install

启动MSDTC服务:net start msdtc

 

2、              中间层服务器和数据库服务器分开部署

【分析原因】

         中间层和数据库分开部署环境下,创建事务失败,一般因相互间的分布式事务处理协调器服务调用存在权限、身份验证等问题引起,可参考如下重新配置处理。

【操作步骤】

①   、在中间层和数据库服务器分别相互添加hosts解析:

依次打开到C:\WINDOWS\system32\drivers\etc\目录下,以记事本打开hosts文件;直接在最后一行回车到下一行按照“IP地址  服务器计算机名”的格式输入hosts解析记录,如“192.168.1.2    K3Server”,然后【保存】;

②   、在中间层和数据库服务器检查是否安装好应用程序服务器角色,如果未安装请在服务器管理器中添加应用程序服务器角色完整安装。(如服务器操作系统为windows server 2016及以上系统,不支持应用程序服务器角色安装,需要修改注册表启用COM+网络访问:在该服务器上依次打开【开始】→【运行】,输入“regedit”,打开注册表编辑器;找到“HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/COM3/”,将“RemoteAccessEnabled”的值修改为“1”后【确定】即可)

③   、检查两个服务器windows防火墙设置:

w   依次打开【控制面板】→【管理工具】→【高级安全windows防火墙】,在【入站规则】中设置“COM+网络访问”、“分布式事物协调器”(默认有三个)右键设置为允许规则,同时在【出站规则】中设置”“分布式事务协调器”也是允许规则;

w   单击左上角的【入站规则】,在右上角打开【新建规则】,在弹出的向导界面,选择【端口】,单击【下一步】,勾选“TCP”,输入“特定端口号”,单击【下一步】,勾选【允许连接】,单击【下一步】,按照向导输入“名称”、“描述”后单击【完成】完成端口添加;

w   单击【新建规则】,在弹出的向导界面,选择【程序】→【下一步】,在“此程序路径”处浏览选择“C:\Windows\System32\dllhost.exe”,单击【下一步】,勾选【允许连接】,单击【下一步】,按照向导输入“名称”、“描述”后单击【完成】完成程序添加,若为64位操作系统,还需同时添加“C:\Windows\Syswow64\dllhost.exe”;

w   操作完毕后务必重启计算机才能生效

附服务器端口说明:

中间层服务器上开放的端口:

1、TCP端口135,远程过程调用服务的固定端口,不能改

2、TCP端口5159,加密服务固定端口,不能改

3、DCOM动态端口,DTC默认的动态端口为TCP 1025--65534,可以更改,可将端口设置到较小范围,一般设置500个连续端口即可,如5000-5500

此外如果有下列服务,需要开通以额端口:

1、TCP端口 5150,门店系统使用的数据同步端口。可以再门店系统中更改。

2、TCP端口5678,IMTS远程传输系统端口。可以再IMTS系统中更改。

3、HTTP端口80,合并报表系统需要调用的http端口,可以在iis设置更改。

数据库服务器

1、TCP端口135端口,远程过程调用服务的固定端口,不能改

2、TCP端口1433,SQL服务的默认端口,可以在SQL Server中更改。

3、DCOM动态端口。DTC默认的动态端口为TCP 1025--65534,可以更改,可通过设置将动态端口改到较小范围,一般设置500个连续端口即可,如5000-5500

④   、在两台服务器上依次打开【开始】→【控制面板】→【管理工具】→【服务】,找到“Distributed Transaction Coordinator”,确保该服务存在且为正常运行状态,并设置启动类型为自动;

⑤   、在中间层和数据库服务器上均需要设置组件服务中“我的电脑”属性的访问权限:

w   在服务器上依次打开【开始】→【控制面板】→【管理工具】→【组件服务】→【计算机】→【我的电脑】,在“我的电脑”上右键,选择【属性】;

w   选择“默认属性”页签,勾选“在此计算机上启用分布式COM”,“默认身份验证级别”选择“连接”,“默认模拟级别”选择“标识”;

image.webp

w   选择“默认协议”页签,确保在“DCOM协议”中有存在“面向连接的TCP/IP”,若无则添加;

w   选择“COM安全”页签,在“访问权限”处点击【编辑限制】,分别选择“Everyone”和“ANONYMOUS LOGON”用户,“本地访问”、“远程访问”勾选“允许”;同理在“启动和激活权限”处点击【编辑限制】,分别选择“everyone”和“ANONYMOUS LOGON”用户,“本地启动”、“远程启动”、“本地激活”、“远程激活”均勾选“允许”,单击【确定】;

image.webp

w   依次展开【组件服务】→【计算机】→【我的电脑】→【Distributed Transaction Coordinator】→【本地DTC】,在“本地DTC”上右键选择【属性】,选择“安全”页签,勾选“网络DTC访问”、“允许远程客户端”、“允许远程管理”、“允许入站”、“允许出站”以及“不要求进行验证”,单击【确定】

image.webp

⑥   如果上述操作后,仍有异常,重置MSDTC重新参考上述步骤设置。重置MSDTC方法:

删除注册表中的键:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC

HKEY_CLASSES_ROOT\CID

开始菜单搜索cmd,匹配出“命令提示符”,右键以管理员身份运行;(或者找到c:\windows\system32\cmd.exe,鼠标右键选择“以管理员身份运行”)

停止MSDTC服务:net stop msdtc

卸载MSDTC服务:msdtc -uninstall (卸载后重新启动电脑)

重新安装MSDTC服务:msdtc –install

启动MSDTC服务:net start msdtc

5.1.1.2 客户端登录提示:“中间层创建事务失败,请联系系统管理员!”高级显示:错误代码: Source :frmMainNew.CheckAcctIsUse()KDLogin

【分析原因】

         该报错导致的客户端无法登录,一般因ebosystem公共组件服务中组件异常导致,注册错误组件或删除组件服务中组件重新注册中间层即可

【操作步骤】

1、在中间层服务器上依次打开【开始】→【控制面板】→【管理工具】→【组件服务】→【计算机】→【我的电脑】→【COM+应用程序】找到【ebosyatem】组件包;

2、打开【ebosystem】组件包中的【组件】,并查找是否存在“ebsbase.XXX”文件,若有则先删除;

3、在【ebosystem】组件包的【组件】上右键选择【新建】→【组件】→【下一步】→【安装新组件】,浏览选择到金蝶K/3安装目录【K3ERP】→【KDSYSTEM】→【KDCOM】下的“ebsbse10.dll”文件,单击【下一步】直至完成即可。

4、如重新注册上述组件后无效或手动启动ebosystem组件异常,删除所有ebo*开头的组件,重新运行“中间层组件注册”,重新注册中间层组件处理。

5.1.2 账套管理无法打开,客户端无法登录

账套管理登录提示:中间层配置有误,请重新配置

客户端远程组件配置测试显示:网络中间层连接失败,请检查是否正确安装了正确的中间层组件

【分析原因】

         中间层组件未注册或注册异常无法正常运行,需要重新进行中间层组件注册。

【操作步骤】

1、  可

K3 WISE客户端访问服务器连接问题解决方案

K3 WISE客户端访问服务器连接问题解决方案注:因windows操作系统10月、11月安全更新,DCOM安全变更,客户端电脑无法再通过仅来宾或匿名方...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信