由于是所有客户端都这样提示,所以判断肯定服务器配置存在问题,好吧,动手排查:

一、      从客户端PING服务器,检查网络状况

结果如下:

哎呀,不管是用IP地址“192.168.1.200”还是用服务器名称“KIS”,返回值都正常,看来网络相当正常。

二、      测试访问服务器共享文件夹

从开始――运行中输入“\\192.168.1.200”,结果出错,提示如下:

由于错误,登录失败: 用户帐户限制。可能的原因包括不允许空密码,登录时间限制,或强制的策略限制。服务器无法登录Windows NT帐户 ‘192.168.1.200\GUEST'。

看来是网络权限配置过于严格,于是采取以下办法处理:

1.右击我的电脑,选择“管理”,在左边依次展开“计算机管理”――“系统工具”――“本地用户和组”――“用户”,检查“GUEST”用户是否是打“X”禁用,如果是,则右击属性,然后取消禁用选项。

2.从“开始”――“运行”,输入“gpedit.msc”,进入到组策略管理界面下,依次展开“计算机配置--->Winsows设置----->安全设置--->本地策略--->用户权利指派”,看看右边有一行:"拒绝从网络访问这台计算机 "看它的属性里有没有guest一项,若有,则删除。

3.开始――运行,输入gpedit.msc回车—计算机配置—windows设置—安全设置—本地策略—安全设置—“账户:使用空白密码的本地账户只允许进行控制台登录”--改为“已禁用”。

OK,再测试,试了几台客户端都正常了。我有预感,不会这么简单!果然,到最后两台,功亏一篑啊,不行!!!不过,现在服务器肯定是没有问题了,得查客户端了,根据网友们总结的办法,一步一步排查吧。

三、      修改host解析文件

找到C:\WINDOWS\system32\drivers\etc下的HOSTS文件,用记事本打开并添加服务器的记录(这个前提要求服务器的IP得是手工指定的IP啊,要是动态获取的话,今天添加了今天有用,明天IP变了就白添加了):

192.168.1.200     KIS

四、      关闭或配置防火墙

关闭防火墙包括WINDOWS自带的,或者其他软件防火墙。

如果不关闭的话,也可以通过其他设置,如开放端口。TCP:135、139、445、1069、1090、1433、2967、6985、6988;UDP:137、445、1033、1434、1058、2123、3000。或者采用添加到白名单:设置--详细设置--网站防问规则--白名单--增加192.168.1。200。

OK,其中一台通过以上步骤后也可以了。但另一台死活不行,只能继续其他可能影响的设置修改。

五、      关闭数据执行保护

通过修改BOOT.INI文件,添加或修改参数:NoExecute=AlwaysOff

六、      重新安装msdtc组件

1、删除注册表中的键:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC

HKEY_CLASSES_ROOT\CID

2、运行命令停止MSDTC服务:net stop msdtc

3、运行命令卸载MSDTC服务:msdtc -uninstall

4、运行命令重新安装MSDTC服务:msdtc –install

结果依旧,最后这台电脑真的是顽固啊!好吧,网上能够找到的都试完了,看来得自已动手分析了。

七、      重新分析过程及问题的根本原因

仔细观察登录时的错误提示,当服务器处输入的是计算机名“KIS”时,如下图:

当服务器处输入的是IP地址“192.168.1.200”时,如下图:

得到的结论是:

输入IP和计算机名,得到的结果不相同。输入IP能够获取账套信息,而输入计算机名则连账套信息均不能获取。但是,既然输入IP已经获取到账套信息,由于我们知道KIS的专业版的账套信息是存放在SQL数据库中的,说明通过IP连接数据库是一切正常的了。

那么,现在我们已经在服务器中输入IP地址来连接数据了,为什么选择了账套后再确定,还是登录不了呢?难道金蝶最终并没有真正使用IP地址来连接数据库,而是又重新使用计算机名来连接了吗?

为了验证我的想法,我在服务器上打开了账套信息数据库“AcctCtl”,找到其中的表“t_ad_kdAccount_gl”。呵呵,果然是这样,其中的“FConnectString”字段记录了每个账套的连接字符串,形如:“Provider=SQLOLEDB.1;User ID=KISAdmin;Password=ypbwkfyjhyhgzj;Data Source=KIS;Initial Catalog=KIS_Sample”,根据我们二次开发的经验,金蝶KIS专业版在通过登录时,获取到账套信息后,显然是用账套信息中的连接字符串再进一步的查询数据了。

上述分析也说明了为什么先前一台电脑通过修改HOSTS能够正常访问了:我们在登录时输入的IP地址仅用于获取账套信息,而之后系统再次使用计算机名访问数据库,所以当由于某些系统服务未开启或防火墙软件的原因,计算机名不能正确解析时,HOSTS文件就生效了,帮助系统将计算机解析为IP地址,然后即可正常访问了。

但是,为什么最后一台还是不行呢?金蝶KIS专业版将错误提示封装了,就好像IE浏览器的“错误友好提示”一样,让人摸不着头脑。那么要尝试找找有没有更详细的信息了,经过一番搜索,在C:\WINDOWS\SYSTEM32\KISCOM\中找到一个登录的错误日志文档“KISSVRMGR_1001.log”,用记事本打开一看,内容主要形如:

01-29 09:25:24 [ERROR] AcctMgr::GetAccountList()

Error number: -2147217843

Source: Microsoft OLE DB Provider for SQL Server

Desc: 用户 'KISAdmin' 登录失败。

01-29 09:25:48 [ERROR] AcctMgr::GetSuperPropString()

Error number: -2147467259

Source: Microsoft OLE DB Provider for SQL Server

Desc: [DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或拒绝访问。

哎……,还是封装过的,不好判断啊。那么,有没有办法显示更直接的提示呢?

既然用KIS专业版不行,那么咱们用SQL自带的客户端工具来登录试试!!!

客户端一般没有安装SQL,没关系,打开随身携带的绿色版SQL管理工具“SQLManager”(也就是企业管理器和查询分析器的独立打包)。使用查询分析器“isqlw.exe”来测试登录效果。输入IP地址和用户名密码,果然能够正常登录。

再输入计算机名和用户名密码,也同样不出意料,没能够正常登录,弹出了以下错误:

细心的读者您注意到了吗?错误提示中有什么东西和一般不同?

对,就是多了“[Multi-Protocol]”这个词。

上网再一番狂搜,获得许多杂乱的信息,我将各处信息综合整理如下:

客户端与服务器的连通需要通讯库的支持,SQL Server 2000 的通讯库NET-LIBRARY网络协议通信库支持多种网络协议:

1. Named pipes协议(命名管理),使用NT SMB端口(TCP139,UDP137,138)来进行通信;

2. IP Sockets协议(TCP/IP),使用TCP1433端口;

3. Multi-Protocol(多协议),默认情况下使用TCP随机端口,客户端需要支持NT RPCs;

4.NWLink协议;

5.AppleTalk (ADSP)协议;

6.Banyan Vines协议。

但一般来说,我们平常使用都是选择TCP/IP或命名管道协议通信库。

遇到SQL Server 不存在或访问被拒绝的问题,我们就应该检查这些协议的配置情况,保证服务器和客户端使用同一种通讯协议即可。

检查服务器端的网络配置是否启用了命名管道、 TCP/IP 协议等等。我们可以利用 SQL Server 自带的服务器网络使用工具。

点击:程序 -> Microsoft SQL Server -> 服务器网络使用工具,打开该工具后看到的画面如下图所示:

从这里我们可以看到服务器启用了哪些协议。一般如上图可能只启用了命名管道和TCP/IP这两种协议,所以客户端如果使用其他协议连接将会连接不上。如需进一步检查 SQK Server 服务默认端口的设置,我们可以点中 TCP/IP 协议,再点击"属性",如下图所示:

一般而言,我们使用 SQL Server 默认的1433端口。对于"隐藏服务器"选项,只是限制客户端通过枚举服务器来枚举这台服务器,仅是保护功能,不影响连接。

客户端连接服务器是也是通过NET-LIBRARY网络协议通信库实现的,微软的MDAC组件提供了NET-LIBRARY网络协议通信库,如DBNMPNTW.DLL——命名管道协议和DBMSSOCN.DLL——TCP/IP协议,其上层的数据库访问基本组件ADO、OLEDB、ODBC、DB-LIBRARY等都是在此基础上实现与服务器的数据访问通讯的。打开客户端网络工具,如下图所示:

如果没有安装SQL客户端工具,但成功安装MDAC28之后,也可以对系统注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\MSSQLServer\Client\ConnectTo

下面各配置项的查看和修改来实现对客户端网络使用属性的配置。

这个配置节点下面的配置项实际上该客户端可以连接的服务器别名列表。

服务器的别名是客户端应用程序用来连接的服务器的伪名称,其连接属性参数中的服务器是真正的服务器名称,两者可以相同或不同。服务器别名的定义规则如下:

<服务器别名>=<网络协议通信库>,<连接属性>

假定我们有一个SQL SERVER 2000服务器SQL_SERVER,具有实例TESTDATA,IP地址为 10.10.10.10,定义其别名为DATASERVER,服务器上同时支持命名管道协议和TCP/IP协议,且TCP/IP的默认端口为1433。

对于命名管道协议,则别名配置如下:

DATASERVER = DBNMPNTW,SQL_SERVER\TESTDATA

DATASERVER = DBNMPNTW,10.10.10.10\TESTDATA

注意,这里的服务器机器名SQL_SERVER和服务器IP地址10.10.10.10是等价的。有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用IP地址来直接指定;这与下文将要提及的HOST文件方式有异曲同工之处。

对于TCP/IP协议,则别名配置如下:

DATASERVER = DBMSSOCN,10.10.10.10\TESTDATA,1433

注意,这里使用服务器的IP地址10.10.10.10,和指定的1433端口需保持和服务器一致。

有时,客户端缺少相关的组件DLL也可能会导致无法连接,此时,应检查网络库中所需的组件DLL文件,如下图所示:

如果缺少上图所示相关组件,请到服务器中拷贝同名文件到本地并用regserver32.exe注册。

至此,真相大白,原来是通讯协议惹的祸。我们参考上述资料,可以通过修改注册表或者利用客户端网络工具来添加别名的方法来解决问题,方法如下:

八、      终极解决办法之一:注册表添加别名法

修改注册表HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Client\ConnectTo中DSQUERY的键值为DBNETLI;

然后在HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Client\ConnectTo中增加别名项,键名为KIS,值为:DBMSSOCN,192.168.1.200,1433;

九、      终极解决办法之二:客户端网络工具添加别名法

那么,万一我们手中没有客户端网络工具,又怕修改注册表格式易出错,该怎么办呢?且看山人妙计(事实上我在客户这边也是按以下方法处理的,因此个人推荐使用以下方法):

十、      终极解决办法之三:ODBC添加数据库访问别名法

从开始菜单中打开控制面板,找到管理工具中的ODBC数据源:

先检查看系统原来是怎样的,选择“LocalServer”之后,点击“配置”,再在弹出的对话框中点击“下一步”:

再在又弹出的对话框中点击“客户端配置”,如下图所示:

确实选择了Multiprotocol多协议。将其改正如下:

当然,这样做还是不够的。这只是修改了本机默认的访问协议,我们的目的主要是添加服务器的别名,准确说,只有按如下操作之后才能够对我们的KIS专业版系统生效:

在上述图示上点击“添加”按钮,再出现下图:

点击上图的“完成”按钮后,将出现下图:

再点击“下一步”,出现下图:

再点击了“客户端配置”之后,出现下图:

按上图再根据您的实际情况填写,这步是最关键的一步,切记!!!然后点击“确定”按钮:

KISAdmin的密码:ypbwkfyjhyhgzj

在回到的上图中,再按以上内容填写,再点击“下一步”:

再在上图中点击“下一步”,出现下图:

再在上图中点击“完成”按钮,出现下图:

点击“测试数据源”,按理应该是成功的,如下图:

点击“确定”后,回到之前的对话框,再点击“确定”即可完成数据源的添加,结果如下图所示:

至此,重新登录金蝶KIS专业版进行测试,没有悬念,顺利登录,大功告成!!!

十一、         其他可能遇到的情况

1.修改服务器计算机的名称后,由于账套数据库里的信息还是原计算机名称,所以需要登录一次账套管理,系统将会自动更新账套数据库里边的记录。否则也会出现这样的提示。

2.如果有多个账套,其他账套正常,只有其中有一个账套登陆时出现这样的提示,则可能是该账套数据库有问题,请检查LDF日志文件是否过大,将其收缩之后再登录。

十二、         总结

或许,您所遇到的问题不一定和我完全一致,但我想分析问题的思路应该是一致的,可以借鉴的。尤其是,当KIS专业版自身的提示不明确时,我们通过用SQL自带的客户端工具来登录,以暴露出真实的问题提示!这个方法是我整个分析过程的核心。当然,也有其他一些方法,例如比较不同客户端登录情况来排除服务器问题等是非常基本也非常有用的方法。

而且,当大家通过本文了解了KIS专业版登录的过程和SQL访问的协议和原理之后,相信其他类似的问题大家也就能够很快找到解决的办法了。

此原理应该同样适用于金蝶KIS商贸版,因为专业版和商贸版的登录原理应该是类似的。但由于我个人没有安装商贸版进行过测试,有兴趣的读者可以自行测试一下。

本文转自daniel8294 51CTO博客,原文链接:http://blog.51cto.com/acadia627/1133170,如需转载请自行联系原作者

金蝶KIS专业版“登录时出现问题,请重新输入”终极解决全过程相关推荐

  1. kis服务器组装,登录金蝶kis专业版为什么会显示无效服务器?

    按你所说的有几种可能, 第一若你的计算机做为金蝶软件的服务器的话就是你的金蝶KIS加密服务器没有启动,解决方法很简单点开始--所有程序--金蝶KIS专业版--工具---金蝶KIS加密服务器,启动OK ...

  2. 金蝶kis专业版公网访问_金蝶KIS云专业版—【账务处理】进阶操作101问

    对KIS专业版[账务处理]模块日常操作之外的各种问题进行回答,帮助老师们快速进阶此模块的操作,提高软件的便利性. 1.专业版资产负债表如何移动表页位置? [操作步骤] 1.单击[报表与分析]-[资产负 ...

  3. 金蝶专业版过账提示运行时错误5_金蝶专业版过账提示运行时错误5_金蝶KIS专业版常见故障及解决办法...

    金蝶KIS专业版常见故障及解决办法 金蝶KIS专业版常见故障有哪些你知道吗?你对金蝶KIS专业版常见故障了解吗?你知道如何解决金蝶KIS专业版常见故障吗?下面是yjbys小编为大家带来的关于金蝶KIS ...

  4. 金蝶账套点开显示服务器未启动,金蝶kis专业版10个易遇见的操作问题

    金蝶kis专业版10个易遇见的操作问题 发布日期:2018-10-08 1.登录账套提示无效的服务器或服务器未启动 原因 KIS加密服务器未启动. 请按下列步骤操作: 1.打开[开始]→[程序],单击 ...

  5. 服务器存在 但是无有效信息,金蝶KIS专业版提示‘服务器存在但是当前用户不存在或无有效帐套信息’的处理方法...

    <金蝶KIS专业版提示'服务器存在但是当前用户不存在或无有效帐套信息'的处理方法>由会员分享,可在线阅读,更多相关<金蝶KIS专业版提示'服务器存在但是当前用户不存在或无有效帐套信息 ...

  6. diskgenius单文件专业版_金蝶KIS专业版系列——系统工具六(业务套打工具)

    导读: (一)问一问 1.1.套打的作用 1.2.举例 (二)怎么进入套打设计器 2.1.入口1 2.2.入口2 (三)怎么使用套打设计器打开套打模板 3.1.打开系统标准套打模板 3.2.新建一个空 ...

  7. 金蝶kis专业版显示服务器无效,金蝶KIS专业版常见问题解决方法

    金蝶KIS专业版常见问题解决方法 金蝶KIS专业版常见问题有哪些你知道吗?你知道如何解决金蝶KIS专业版常见问题吗?下面是yjbys小编为大家带来的金蝶KIS专业版常见问题解决方法,欢迎阅读. 一.如 ...

  8. 金蝶专业版选择的服务器不正确,金蝶KIS专业版常见问题解决方法

    金蝶KIS专业版常见问题解决方法 金蝶KIS专业版常见问题有哪些你知道吗?你知道如何解决金蝶KIS专业版常见问题吗?下面是yjbys小编为大家带来的金蝶KIS专业版常见问题解决方法,欢迎阅读. 一.如 ...

  9. 金蝶服务器删除缓存文件,金蝶KIS专业版卸载不干净导致无法安装之解决办法

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 金蝶KIS专业版卸载不干净导致无法安装之解决办法 解决方法: 1.卸载专业版产品以后,将安装目录下的kingdee文件夹删除: 2.将系统盘system3 ...

  10. 一个不错的金蝶KIS专业版条码扫描插件

    一个不错的金蝶KIS专业版条码扫描插件 插件简介: 本插件主要为满足金蝶KIS出入库数据的条码快速扫描而开发.在金蝶KIS里条码扫描有一个非常不方便的地方,就是扫描完一个物料之后一定要进行键盘或鼠标操 ...

最新文章

  1. 单片机联网,UIP实现tcp/udp协议
  2. C++ Primer 5th笔记(chap 11)关联容器---无序容器
  3. php什么是阵列,php – 功能阵列的替代方法?
  4. 飞鸽传书2012绿色版
  5. 在Mac上唤出「快速备忘录」的开启与关闭设置教程
  6. 码云 GVP 项目 SequoiaDB 完成 C 轮数千万美元融资
  7. 企业级OpenCV、图像识别资料免费下载,仅此1天!
  8. 怎么修改地磅服务器的修改记录,地磅无人值守系统软件怎么修改数据
  9. CrateDB 3.2.4 发布,大规模可伸缩的数据存储系统
  10. 服务器------sz命令 – 从Linux上下载文件到本地
  11. 使用BarTender连接Excel文件批量打印图片
  12. 现代支付系统的资金流向
  13. flutter显示图标_如何自动调整Flutter中的图标大小
  14. 第10章项目干系人管理__权力利益分配
  15. 2160亿元电费如何降下来?地方5G“硬核”政策助力
  16. JAVA自学-day11-eclipse工具的使用、API、Object类
  17. 计算机网络拓扑有,计算机网络拓扑
  18. 电影、酒店、外卖红包天天领
  19. IOC框架---什么是IOC
  20. c 语言 批量更改文件名,rename 批量修改文件名

热门文章

  1. VBA遍历文件夹下的文件并且合并工作簿到一个工作簿中
  2. Drupal主题制作流程
  3. 联邦学习FATE社区2021年度生态峰会倒计时1天,请查收这份参会攻略
  4. 云服务器哪家最好,如何选择云服务器
  5. 2022-2028全球放射性废物管理系统行业调研及趋势分析报告
  6. python选课系统代码_Python选课系统开发程序
  7. 微软也招 Java!
  8. 关闭WINDOWS文件保护功能
  9. 计算机安全模式无法启动,电脑无法启动,电脑安全模式进不去解决方法大全?...
  10. 阿里金融云操作教程Plus