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地址来连接,而是又重新使用计算机名来连接了吗?
为了验证我的想法,我在服务器上打开了账套信息“AcctCtl”,找到其中的表“t_ad_kdAccount_gl”。呵呵,果然是这样,其中的“FConnectString”字段记录了每个账套的连接字符串,形如:“Provider=SQLOLEDB.1;UserID=KISAdmin;Password=ypbwkfyjhyhgzj;Data Source=KIS;InitialCatalog=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地址和用户名密码,果然能够正常登录。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-31044-2.html
制售十万台假货才判一到两年
禽兽不如
从现在抓起一百年以后我看还是有希望的
对敢于入侵我领土