com - ADODB.Connection 与 "Class does not support Automation"的 Exe 崩溃

标签 com vb6 ado

一台装有 MSVBVM60.dll 版本 6.0.97.82 的机器,比如旧版。其他具有 MSVBVM60.dll 版本 6.0.98.15 的机器,比如 NEW。从新机器创建的 Exe 在行 new ADODB.Connection 崩溃在旧机器上出现以下错误

Run-time error '430': Class does not support Automation or does not support expected interface



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

最佳答案

这与 VB 运行时版本无关,更多与 ADO 库有关(正如错误行所暗示的那样),并且是由 Microsoft 破坏其 ADO 库中的兼容性引起的。

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

关于com - ADODB.Connection 与 "Class does not support Automation"的 Exe 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9094786/

相关文章:

C++ CoCreateInstance 方法返回 "No Such Interface supported"

c++ - 使用 VS2010 在客户端编译 native COM 客户端 stub

vb6 - 如果 VB6 应用程序中出现运行时错误,这是否意味着错误处理已关闭?

mysql - 使用带有 OUT 参数的 VB6 调用 MySQL 存储过程

vb.net - 等价于 VB.Net 中的货币?

oracle - 从 MSDAORA 提供程序更改为 OraOLEDB 提供程序后,颠倒的问号而不是真实字符

c++ - 将数据从数据库正确加载到编辑控件中,以便我可以执行 ADO 查询

c# - 在 C# 中释放 OLE IStorage 文件句柄

c++ - 在 C++ 中使用 ADO 执行参数化查询时,为什么我不断收到 "Must declare the Scalar variable "@Param 1""?

c++ - OLE 自动化是通过 C++ 自动化 IE 的好选择吗?