Exe崩溃ADODB.Connection with" Class不支持Automation"

时间:2012-02-01 11:10:07

标签: com vb6 ado

一台机器有MSVBVM60.dll版本6.0.97.82,比如OLD。其他机器有MSVBVM60.dll版本6.0.98.15,说新。在旧机器上创建的exe在OLD机器上的new ADODB.Connection行崩溃,产生以下错误

  

运行时错误'430':类不支持自动化或不支持自动化   支持预期的界面

如何摆脱这个?我的主要目标是在新机器上创建时在OLD机器上运行exe。为了避免干扰NEW机器的配置,我尝试取消注册旧版本并在OLD机器上注册更新版本但没有成功。是否有ADODB.Connection使用的其他dll或者我需要做一些完全不同的事情来摆脱这个?

4 个答案:

答案 0 :(得分:11)

这与VB运行时版本无关,而与ADO库有关(如错误行所暗示),是由于Microsoft破坏了ADO库中的兼容性。

KB article 2517589解释了为什么以及基本上针对兼容性类型库重新编译的解决方案。

答案 1 :(得分:0)

在OLD机器上修补整个VB6运行时可能最简单 - 您可以从here下载。

VB6运行时作为包分发,所以我不建议只是自己插入某些dll。

我还建议检查您运行的两台计算机是否使用相同版本的MDAC,特别是OLD计算机安装了项目中引用的版本。

答案 2 :(得分:0)

接受的答案对我不起作用。以下步骤确实如此。

  1. 工具 - >参考
  2. 取消选中:
    • Microsoft ActiveX数据对象6.1库
    • Microsoft ActiveX数据记录集6.0库
    • Microsoft ADO Ext。 6.0 for DDL and Security
  3. 检查:
    • Microsoft ActiveX数据对象2.8库
    • Microsoft ActiveX数据记录集2.8库
    • Microsoft ADO Ext。 2.8用于DDL和安全

答案 3 :(得分:0)

“类不支持自动化”。 在vb 6.0中使用64位版本的Windows进行编译并尝试在32位版本的Windows上运行时,会生成此错误。用32位重新编译可修复错误