KIS专业版登录时出现问题请重新输入终极解决全过程要点.docx

上传人:牧羊曲112 文档编号:4885803 上传时间:2023-05-21 格式:DOCX 页数:16 大小:1.35MB
返回 下载 相关 举报
KIS专业版登录时出现问题请重新输入终极解决全过程要点.docx_第1页
第1页 / 共16页
KIS专业版登录时出现问题请重新输入终极解决全过程要点.docx_第2页
第2页 / 共16页
KIS专业版登录时出现问题请重新输入终极解决全过程要点.docx_第3页
第3页 / 共16页
KIS专业版登录时出现问题请重新输入终极解决全过程要点.docx_第4页
第4页 / 共16页
KIS专业版登录时出现问题请重新输入终极解决全过程要点.docx_第5页
第5页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《KIS专业版登录时出现问题请重新输入终极解决全过程要点.docx》由会员分享,可在线阅读,更多相关《KIS专业版登录时出现问题请重新输入终极解决全过程要点.docx(16页珍藏版)》请在三一办公上搜索。

1、金蝶KIS专业版“登录时出现问题,请重新输入”终极解决全过程(注,本文较长,但如果您能够耐心看完,相信一定会有所收获!本文由昆明苏博泰克计算机有限公司郭永 林原创,在金蝶博客以狂啸三声名义发布。解决问题时花了大半天,整理撰写和排版又花了一整个晚上,因此转 载收藏时请保留此说明,谢谢。)目录金蝶KIS专业版“登录时出现问题,请重新输入”终极解决全过程1一、从客户端PING服务器,检查网络状况 2二、测试访问服务器共享文件夹 2三、修改host解析文件3四、关闭或配置防火墙3五、关闭数据执行保护3六、重新安装msdtc组件 3七、重新分析过程及问题的根本原因 3八、终极解决办法之一:注册表添加别名

2、法8九、终极解决办法之二:客户端网络工具添加别名法8十、终极解决办法之三:ODBC添加数据库访问别名法9十一、其他可能遇到的情况 15十二、总结15好久没做专业版,现在做了一个。想不到居然遇到了传说的“登录时出现问题,请重新输入”提示。如下图 所示:我狂晕啊,印象中好像很多人都遇到过,想不到我也会栽到它头上。我装了那么多K3经过一番配置都没再 出过登录不了的问题啊!由于是所有客户端都这样提示,所以判断肯定服务器配置存在问题,好吧,动手排查:、从客户端PING服务器,检查网络状况结果如下:、测试访问服务器共享文件夹从开始一一运行中输入“192.168.1.200”,结果出错,提示如下:由于错误,

3、登录失败:用户帐户限制。可能的原因包括不允许空密码,登录时间限制,或强制的策略限制。服务器 无法登录 Windows NT 帐户 192.168.1.200GUEST。看来是网络权限配置过于严格,于是采取以下办法处理:1. 右击我的电脑,选择“管理”,在左边依次展开“计算机管理”一一“系统工具”一一“本地用户和组”一一 “用户”,检查“ GUEST ”用户是否是打“X”禁用,如果是,则右击属性,然后取消禁用选项。2. 从“开始”一一“运行”,输入gpedit.msc”,进入到组策略管理界面下,依次展开“计算机配置-Winsows 设置安全设置-本地策略-用户权利指派”,看看右边有一行:拒绝从网

4、络访问这台计算机看它的属性里 有没有guest 一项,若有,则删除。3. 开始一一运行,输入gpedit.msc回车一计算机配置一windows设置一安全设置一本地策略一安全设置一“账户: 使用空白密码的本地账户只允许进行控制台登录”一一改为“已禁用”。OK,再测试,试了几台客户端都正常了。我有预感,不会这么简单!果然,到最后两台,功亏一篑啊,不行! 不过,现在服务器肯定是没有问题了,得查客户端了,根据网友们总结的办法,一步一步排查吧。三、修改host解析文件找到C:WINDOWSsystem32driversetc下的HOSTS文件,用记事本打开并添加服务器的记录(这个前提要 求服务器的IP

5、得是手工指定的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,其中一台通过以上步骤后也可以了。但另一台死活不行,只能继续其他可能影响的设置修改。

6、五、关闭数据执行保护通过修改BOOT.INI文件,添加或修改参数:NoExecute=AlwaysOff六、重新安装msdtc组件1、删除注册表中的键:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSDTCHKEY_LOCAL_MACHINESOFTWAREMicrosoftMSDTCHKEY_CLASSES_ROOTCID2、运行命令停止MSDTC服务:net stop msdtc3、运行命令卸载MSDTC服务:msdtc -uninstall4、运行命令重新安装MSDTC服务:msdtc - install结果依旧,最后这台电脑真的是顽

7、固啊!好吧,网上能够找到的都试完了,看来得自已动手分析了。七、重新分析过程及问题的根本原因仔细观察登录时的错误提示,当服务器处输入的是计算机名“KIS”时,如下图:当服务器处输入的是IP地址“ 192.168.1.200”时,如下图:得到的结论是:输入IP和计算机名,得到的结果不相同。输入IP能够获取账套信息,而输入计算机名则连账套信息均不能 获取。但是,既然输入IP已经获取到账套信息,由于我们知道KIS的专业版的账套信息是存放在SQL数据库中 的,说明通过IP连接数据库是一切正常的了。那么,现在我们已经在服务器中输入IP地址来连接数据了,为什么选择了账套后再确定,还是登录不了呢? 难道金蝶最

8、终并没有真正使用IP地址来连接数据库,而是又重新使用计算机名来连接了吗?为了验证我的想法,我在服务器上打开了账套信息数据库“AcctCtl”,找到其中的表“t_ad_kdAccount_gl”。 呵呵,果然是这样,其中的“ FConnectString ”字段记录了每个账套的连接字符串,形如:“ Provider=SQLOLEDB.1;User ID=KISAdmin;Password=ypbwkfyjhyhgzj;Data Source=KIS;Initial Catalog=KIS_Sample”,根据我们二次开发的经验,金蝶KIS专业版在通过登录时,获取到账套信息后,显然是 用账套信息中

9、的连接字符串再进一步的查询数据了。上述分析也说明了为什么先前一台电脑通过修改HOSTS能够正常访问了:我们在登录时输入的IP地址仅用 于获取账套信息,而之后系统再次使用计算机名访问数据库,所以当由于某些系统服务未开启或防火墙软件的原 因,计算机名不能正确解析时,HOSTS文件就生效了,帮助系统将计算机解析为IP地址,然后即可正常访问了。但是,为什么最后一台还是不行呢?金蝶KIS专业版将错误提示封装了,就好像IE浏览器的“错误友好提 示” 一样,让人摸不着头脑。那么要尝试找找有没有更详细的信息了,经过一番搜索,在 C:WINDOWSSYSTEM32KISCOM、中找到一个登录的错误日志文档“KI

10、SSVRMGR_1001.log”,用记事本打开一看,内 容主要形如:01-29 09:25:24 ERROR AcctMgr:GetAccountList()Error number: -2147217843Source: Microsoft OLE DB Provider for SQL ServerDesc:用户KISAdmin登录失败。01-29 09:25:48 ERROR AcctMgr:GetSuperPropString()Error number: -2147467259Source: Microsoft OLE DB Provider for SQL ServerDesc:

11、 DBNETLIBConnectionOpen (Connect().SQL Server 不存在或拒绝访问。哎,还是封装过的,不好判断啊。那么,有没有办法显示更直接的提示呢?既然用KIS专业版不行,那么咱们用SQL自带的客户端工具来登录试试!客户端一般没有安装SQL,没关系,打开随身携带的绿色版SQL管理工具“SQLManager”(也就是企业管理 器和查询分析器的独立打包)。使用查询分析器“isqlw.exe”来测试登录效果。输入IP地址和用户名密码,果 然能够正常登录。再输入计算机名和用户名密码,也同样不出意料,没能够正常登录,弹出了以下错误:细心的读者您注意到了吗?错误提示中有什么东西

12、和一般不同?对,就是多了“ 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. Appl

13、eTalk (ADSP)协议;6. Banyan Vines 协议。但一般来说,我们平常使用都是选择TCP/IP或命名管道协议通信库。遇到SQL Server不存在或访问被拒绝的问题,我们就应该检查这些协议的配置情况,保证服务器和客户端使 用同一种通讯协议即可。检查服务器端的网络配置是否启用了命名管道、TCP/IP协议等等。我们可以利用SQL Server自带的服务器网 络使用工具。点击:程序- Microsoft SQL Server -服务器网络使用工具,打开该工具后看到的画面如下图所示:从这里我们可以看到服务器启用了哪些协议。一般如上图可能只启用了命名管道和TCP/IP这两种协议,所以客

14、户 端如果使用其他协议连接将会连接不上。如需进一步检查SQK Server服务默认端口的设置,我们可以点中TCP/IP协 议,再点击属性,如下图所示:一般而言,我们使用SQL Server默认的1433端口。对于隐藏服务器选项,只是限制客户端通过枚举服务器来 枚举这台服务器,仅是保护功能,不影响连接。客户端连接服务器是也是通过NET-LIBRARY网络协议通信库实现的,微软的MDAC组件提供了 NET-LIBRARY网络协 议通信库,如DBNMPNTW.DLL命名管道协议和DBMSSOCN.DLLTCP/IP协议,其上层的数据库访问基本组件ADO、OLEDB、ODBC、DB-LIBRARY等都

15、是在此基础上实现与服务器的数据访问通讯的。打开客户端网络工具,如下图所示:如果没有安装SQL客户端工具,但成功安装MDAC28之后,也可以对系统注册表项:HKEY_LOCAL_MACHINESOFTWARE MicrosoftMSSQLServerClientConnectTo下面各配置项的查看和修改来实现对客户端网络使用属性的配置。这个配置节点下面的配置项实际上该客户端可以连接的服务器别名列表。服务器的别名是客户端应用程序用来连接的服务器的伪名称,其连接属性参数中的服务器是真正的服务器名称,两 者可以相同或不同。服务器别名的定义规则如下:服务器别名 =,假定我们有一个SQL SERVER 2

16、000服务器SQL_SERVER,具有实例TESTDATA,IP地址为10.10.10.10,定义其别名为 DATASERVER,服务器上同时支持命名管道协议和TCP/IP协议,且TCP/IP的默认端口为1433。对于命名管道协议,则别名配置如下:DATASERVER = DBNMPNTW, SQL_SERVERTESTDATA或DATASERVER = DBNMPNTW,10.10.10.10TESTDATA注意,这里的服务器机器名SQL_SERVER和服务器IP地址10.10.10.10是等价的。有时候客户端和服务器不在同 一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,

17、这时候我们可以使用IP地址来直接指定; 这与下文将要提及的HOST文件方式有异曲同工之处。对于TCP/IP协议,则别名配置如下:DATASERVER = DBMSSOCN,10.10.10.10TESTDATA,1433注意,这里使用服务器的IP地址10.10.10.10,和指定的1433端口需保持和服务器一致。有时,客户端缺少相关的组件DLL也可能会导致无法连接,此时,应检查网络库中所需的组件DLL文件,如 下图所示:如果缺少上图所示相关组件,请到服务器中拷贝同名文件到本地并用regserver32.exe注册。至此,真相大白,原来是通讯协议惹的祸。我们参考上述资料,可以通过修改注册表或者利

18、用客户端 网络工具来添加别名的方法来解决问题,方法如下:八、终极解决办法之一:注册表添加别名法修改注册表 HKEY_LOCAL_MACHINESoftwareMicrosoftMSSQLServerClientConnectTo 中 DSQUERY 的键值 为 DBNETLI;然后在 HKEY_LOCAL_MACHINESoftwareMicrosoftMSSQLServerClientConnectTo 中增加别名项,键名为 KIS,值为:DBMSSOCN,192.168.1.200,1433;九、终极解决办法之二:客户端网络工具添加别名法(事实十、终极解决办法之三:ODBC添加数据库访问别

19、名法从开始菜单中打开控制面板,找到管理工具中的ODBC数据源:ODBC数据源管理器? X用户DSN系统DSN文件DSN驱动程序跟踪 连接池关于系统数据源:名称 |驱动程序|添加但).LocalSer ver SQL Server删除 I配置(). IODBC系统数据源存储了如何与指定数据提供程序连接的信息。系 统数据源对当前机器上的所有用户可见,包括NT服务。弹出的对话框中点击“下先检查看系统原来是怎样的,选择“LocalServer”之后,点击“配置”,再在再在又弹出的对话框中点击“客户端配置”,如下图所示:说,确实选择了 Multiprotocol多协议。将其改正如下:当然,这样做还是不够

20、的。这只是修改了本机默认的访问协议,我们的目的主要是添加服务器的别名,准确 只有按如下操作之后才能够对我们的KIS专业版系统生效:在上述图示上点击“添加”按钮,再出现下图:点击上图的“完成”按钮后,将出现下图:再点击“下一步”,出现下图:再点击了“客户端配置”之后,出现下图:按上图再根据您的实际情况填写,这步是最关键的一步,切记!! !然后点击“确定”按钮:在回到的上图中,再按以上内容填写,再点击“下一步”:再在上图中点击“下一步”,出现下图:再在上图中点击“完成”按钮,出现下图:点击“测试数据源”,按理应该是成功的,如下图:SQL Server ODBC数据源测试fx刑试结果Microsof

21、t SQL Server ODBC 驱动程序版本 03.85. 1132正在运行连接咧试.连 的置器 立设务 接建项服 连被选与 图接证开 试连验断测试成功,确定点击“确定”后,回到之前的对话框,再点击“确定”即可完成数据源的添加,结果如下图所示:至此,重新登录金蝶KIS专业版进行测试,没有悬念,顺利登录,大功告成!十一、其他可能遇到的情况1. 修改服务器计算机的名称后,由于账套数据库里的信息还是原计算机名称,所以需要登录一次账套管理, 系统将会自动更新账套数据库里边的记录。否则也会出现这样的提示。2. 如果有多个账套,其他账套正常,只有其中有一个账套登陆时出现这样的提示,则可能是该账套数据库

22、有 问题,请检查LDF日志文件是否过大,将其收缩之后再登录。十二、总结或许,您所遇到的问题不一定和我完全一致,但我想分析问题的思路应该是一致的,可以借鉴的。尤其是, 当KIS专业版自身的提示不明确时,我们通过用SQL自带的客户端工具来登录,以暴露出真实的问题提示! 这个方法是我整个分析过程的核心。当然,也有其他一些方法,例如比较不同客户端登录情况来排除服务器问题 等是非常基本也非常有用的方法。而且,当大家通过本文了解了 KIS专业版登录的过程和SQL访问的协议和原理之后,相信其他类似的问题大 家也就能够很快找到解决的办法了。根据总部何志权(社区lz_xiaohe)先生提示,此原理应该同样适用于金蝶KIS商贸版,因为专业版和商贸 版的登录原理应该是类似的。但由于我个人没有安装商贸版进行过测试,有兴趣的读者可以自行测试一下。最后,希望此文能够给大家一些启发和帮助,至于题目的“终极解决,则是标题党作法了,名不符实之处, 请大家一笑了之。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号