Exe Crash При ADODB.Connection с "Класс не поддерживает автоматизацию" - PullRequest
7 голосов
/ 01 февраля 2012

Одна машина, имеющая MSVBVM60.dll ver 6.0.97.82, скажем, OLD. Другая машина, имеющая MSVBVM60.dll версии 6.0.98.15, скажем, НОВАЯ. Exe, созданный из новой машины, вылетает в строке new ADODB.Connection на старой машине, выдавая следующую ошибку

Ошибка времени выполнения '430': класс не поддерживает автоматизацию или не поддерживает поддержка ожидаемого интерфейса

Как от этого избавиться? Моя главная цель - запустить exe на старой машине, пока она создается на новой машине. Чтобы не мешать конфигурации новой машины, я попытался отменить регистрацию старой версии и зарегистрировать более новую версию на старой машине, но безуспешно. Есть ли какие-либо другие dll, используемые ADODB.Connection, или мне нужно сделать что-то совершенно другое, чтобы избавиться от этого?

Ответы [ 4 ]

11 голосов
/ 01 февраля 2012

Это не имеет ничего общего с версиями среды выполнения VB и более с библиотеками ADO (как намекает строка ошибки) и было вызвано нарушением совместимости Microsoft в их библиотеках ADO.

Статья KB 2517589 объясняет, почему и решение, которое, по сути, нужно перекомпилировать для совместимости typelib.

0 голосов
/ 07 января 2019

«Класс не поддерживает автоматизацию». Эта ошибка генерируется при компиляции в vb 6.0 с использованием 64-битной версии Windows и попытке запустить ее на 32-битной версии Windows. Перекомпиляция с 32-битным исправила ошибку

0 голосов
/ 28 марта 2017

Принятый ответ не сработал для меня.Выполнены следующие шаги.

  1. Инструменты -> Ссылки
  2. Снимите отметку:
    • Объекты данных Microsoft ActiveX 6.1 Библиотека
    • Библиотека данных Microsoft ActiveX Набор записей 6.0
    • Microsoft ADO Ext.6.0 для DDL и безопасности
  3. Проверка:
    • Объекты данных Microsoft ActiveX 2.8 Библиотека
    • Набор данных Microsoft ActiveX 2.8 Библиотека
    • MicrosoftADO Ext.2.8 для DDL и безопасности
0 голосов
/ 01 февраля 2012

Может быть проще всего пропатчить всю среду выполнения VB6 на старой машине - вы можете скачать ее с здесь .

Среда выполнения VB6 распространяется в виде пакета, поэтому я не рекомендовал бы просто вставлять определенные библиотеки самостоятельно.

Я бы также порекомендовал проверить, что на двух ваших компьютерах используется одна и та же версия MDAC, в частности, что на компьютере OLD установлена ​​версия, на которую ссылается ваш проект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...