解决方案 VB编写的数据库程序在Win7 SP1编译无法在XP系统上使用的问题

解决方案 VB编写的数据库程序在Win7 SP1编译无法在XP系统上使用的问题

可能出现的错误提示有:
1、430 Class does not support Automation or does not support expected interface
  运行时错误"430": 类不支持自动化或不支持所需的接口
2、Error 13 - Type mismatch

问题产生原环境:
操作系统:Windows 7 - (32 and 64 bit)  打了 SP1 补丁包
开发环境:Visual Basic 6 SP6 (VB6 SP6)  并引用 Microsoft ActiveX Data Objects 2.x Library(ADODB, msado27.tlb, msado28.tlb and msado15.dll)

在WIN7SP1环境下编译后,本机运行正常,在其他电脑(一般为XP系统)无法运行,产生以上错误提示。如果在XP下编译,则没有任何问题,在WIN7SP1也运行正常。

问题很明确,是补丁包引起的,最终查明是KB983246补丁,关于此补丁微软有很详细的说明:
http://support.microsoft.com/kb/2517589/zh-cn

因此解决办法就有:
1、所有客户端安装KB983246补丁!
2、卸载Win7 的 SP1补丁包
3、替换Win7的C:\Program Files\Common Files\System\ado下的对应ado组件为XP SP3下的对应文件。
比如:将原来的Win7的msado27.tlb改名为msado27-new.tlb
然后将XP的msado27.tlb复制到ado目录。重新打开VB编译程序即可。
注意:Win7的ado文件夹要先设置权限哦!

Windows XP版本的msado27.tlb
快盘下载:http://www.kuaipan.cn/file/id_3716800273456462.html


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值