Windows7 SP1导致含有ADO的程序运行失败问题

在Windows7 SP1环境下,含有ADO的程序运行出现错误,主要原因是ADO库路径改变和更新导致的类型库不匹配。解决方法包括寻找并注册特定TLB文件、使用后期绑定或者安装KB983246补丁。通过在CSDN资源中找到的补丁,成功解决了在Windows2003 SP2和XP SP3上运行的问题。暴力方法为替换未安装SP1的Windows 7系统的ADO文件夹,重新编译程序。
摘要由CSDN通过智能技术生成
前天,更换了一台新电脑,配置还行,就兴冲冲的用上了32位的Windows7 SP1,确实比XP,2003好看,呵呵,其他还没更深的感触。当天晚上一个客户让修改一个程序功能,之前一直是在XP SP3(Windows2003 SP2)+VB6+SQL2000的环境下编译(确实有点古老了,习惯了),于是很兴奋的把源码拷到了新机器上,很简单的修改了一下便编译替换,然后悲剧来了,反映说“运行程序后直接弹出一个提示框,内容是‘ 类不支持自动化或不支持期望的接口’,程序退出”(有的机器会提示“ 类型不匹配”,“函数或接口标记为限制的,或函数中使用了VB不支持的自动类型”)。

程序入口是连接数据库,这里我没有做任何的修改,但最终还是判断是由ADO造成的,查看”Microsoft ActiveX Data Objects 2.8 Library”在Win7 SP1下的路径是“C:\ProgramFiles (x86)\Common Files\System\ado\msado28.tlb”,在Win2003 SP2下的路径是” C:\ProgramFiles\Common Files\System\ADO\msado15.dll”,在Win2003下根本没有msado28.tlb这个文件,我便开始了悲催的百度谷歌之旅,最终有

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值