大伙儿晚上今天可算是把我折腾坏了,得赶紧记下来分享分享,免得以后再踩坑,也给遇到同样麻烦的朋友提个醒。
烦人的“意外错误”又双叒叕来了
话说今天我这儿捣鼓一个老项目,需要连一个外部的数据库。本来嘛这种事情家常便饭,配置好连接字符串,点一下,数据哗哗地就该过来了。结果?啪叽,屏幕上弹出一个冷冰冰的提示:“外部数据库驱动程序(1)中的意外错误”。
我当时心里就“咯噔”一下。这种提示,说具体,它提到了“驱动程序”,说模糊,这“意外错误(1)”到底是啥玩意儿?完全摸不着头脑!
一通瞎折腾,差点把电脑砸了
咱也不是吃素的,遇到问题先自救。第一反应,肯定是驱动问题呗。于是乎:
- 检查驱动版本,看着没啥问题,最新的。
- 重新安装驱动,卸了装,装了卸,折腾好几遍,电脑重启了好几次,手都酸了。
- 换个旧版本的驱动试试?也试了,不行!
- 检查数据库服务那边,是不是停了?屁颠屁颠跑过去看,服务好好的,别人连着也没问题。
- 防火墙?网络?都查了一遍,通的!
这时候我这火气就上来了。对着电脑屏幕干瞪眼,这“意外错误(1)”就像个魔咒一样,死活不肯走。网上搜了一圈,各种说法都有,有的说要改注册表,有的说要装什么修复工具,还有的说是什么权限不够。我跟你讲,有些方法看着就玄乎,我轻易也不敢试,万一系统搞崩了,那可就不是一个错误的事儿了。
真是搞得人焦头烂额,感觉时间都浪费在这些莫名其妙的事情上了。项目进度本来就紧,这不是添乱嘛
柳暗花明,竟然是它搞的鬼!
就在我快要放弃,准备从头搭建一个测试环境的时候,偶然在一个犄角旮旯的论坛帖子里看到有人提了一句,说是某个Windows更新补丁可能会导致这类问题。我当时心里还犯嘀咕:一个系统补丁,还能影响到数据库驱动?这也太扯了?
但死马当活马医呗,都到这份上了,试试总比干等着强。帖子里提到了几个补丁编号,说是不同系统对应不同的编号。我赶紧对照了一下我这台机器的系统版本。
我用的是一台还算稳定的Win7机器跑这个老程序,没办法,有些老东西就认老系统。帖子里说Win7系统要注意KB4041678和KB4040966这两个补丁。
动手!卸它!
找到方向了,那就开干!
第一步,我打开了“控制面板”。这玩意儿现在藏得越来越深了,还好我眼神
第二步,在控制面板里找到“程序和功能”(有些系统叫“卸载程序”),点进去。
第三步,在左边栏找到“查看已安装的更新”。点开之后,好家伙,密密麻麻一大堆更新列表,看得我眼都花了。
第四步,耐着性子,在右上角的搜索框里,我先搜了“KB4041678”。还真给我搜出来了!选中它,右键,卸载!
第五步,卸载完一个,系统提示可能需要重启。我先没理它,接着搜“KB4040966”。也找到了,同样卸载!
卸载这两个补丁花了一点时间,毕竟是系统层面的东西。卸载完了,系统强烈建议我重启。
行,重启就重启!这时候心里真是七上八下的,既有点小期待,又怕白折腾一场。
谢天谢地,它好了!
电脑慢悠悠地重启完毕,我深吸一口气,颤抖着双手再次打开那个老项目,点下了连接数据库的按钮。
奇迹发生了!这回没有弹出那个该死的“外部数据库驱动程序(1)中的意外错误”提示,数据刷的一下就出来了!
我当时那个激动,差点没从椅子上蹦起来!折腾了大半天,没想到竟然是两个看似不起眼的系统补丁在作祟!这感觉,真跟便秘了好几天突然通畅了一样爽!
今天把这个经历写下来,就是想告诉大家,以后再碰到这种莫名其妙的“外部数据库驱动程序”相关的错误,尤其是前面排查了一圈驱动本身、数据库服务都没问题的时候,不妨往Windows更新补丁这方面想一想。
卸载系统补丁也存在一定的风险,毕竟补丁是为了修复某些漏洞或者提升性能的。但如果实在是被这种问题卡住了,作为一种排查手段试试也无妨。记得卸载前看清楚补丁编号,别卸错了。最好是解决了问题后,看看有没有官方的说法或者新的补丁来彻底解决,或者暂时关闭自动更新,等风头过了再说。
好了,今天就啰嗦到这儿。希望我这点小经验能帮到有需要的朋友。踩坑不易,分享万岁!
还没有评论,来说两句吧...