25 лет успешной работы!
Горячая линия:
Москва
Центральный офис:
Контакты Дилеры

Восстановление компонентов MDAC (ADO, OLEDB) на компьютере

 

Проблема

Программа «Альта-ГТД» (а равно и другие наши программы, работающие с базами данных) не запускается и/или не переключается в SQL-режим (одним словом, не подключается к базам данных), выдавая при этом сообщения об ошибках типа «Не удается найти указанного поставщика», «Не найдена указанная процедура», «Неизвестное имя класса» или «Разрушительный сбой».

Причина

Иногда после установки автоматических обновлений Windows (или по другим неустановленным причинам) на компьютере происходит повреждение системных компонентов доступа к базам данных «Microsoft/Windows Data Access Components» (MDAC/WDAC), в частности их составляющих – «ActiveX Data Objects» (ADO) и/или «OLEDB-провайдеров».

Решение

Поскольку, начиная с Windows XP SP2 и Server 2003, данные компоненты (MDAC) считаются неотъемлемой частью операционной системы, а, начиная с Windows Vista и Server 2008, они переименованы в «Windows Data Access Components» (WDAC) и более не распространяются в виде отдельного инсталлятора, то наилучшим решением является переустановка операционной системы или восстановление ее из резервной копии (при наличии таковой) на состояние до сбоя.

Однако в виду трудоемкости данной операции можно для начала попробовать (на свой страх и риск) более «мягкие» способы решения проблемы, которые будут различаться в зависимости от установленной версии Windows:

Для старых ОС (до Windows XP SP1 включительно)

Достаточно просто переустановить компоненты MDAC, скачав инсталлятор с сайта Microsoft.

Для Windows XP SP2/SP3 и Server 2003

Вариант 1 (только для XP). Воспользоваться вышеупомянутым инсталлятором, однако перед его запуском зайти в свойства файла MDAC_TYP.EXE и включить режим совместимости с Windows 2000. Это позволит избежать сообщения о «несовместимости с данной версией Windows», но по сути будут установлены ровно те же компоненты, что идут в составе Windows XP SP2/SP3.

Вариант 2. Переустановить только компоненты MDAC, используя оригинальный дистрибутив Windows, с которого происходила установка ОС. Для этого, открыть папку C:\Windows\Inf (если ее не видно, включить показ скрытых папок/файлов в «свойствах папки»), нажать правой кнопкой мыши на файле MDAC.INF и выбрать пункт «Установить». При первом запросе «вставить диск» указать путь C:\Windows\ServicePackFiles\i386, при втором – путь к папке i386 дистрибутива Windows, с которого происходила первоначальная установка ОС. Более подробно можно прочитать в статье Microsoft.

Вариант 3 (частичное восстановление!). Скопировать с другого компьютера (где установлена такая же ОС и все работает) содержимое папок:

  • C:\Program Files\Common Files\System\ado
  • C:\Program Files\Common Files\System\Ole DB

 

И зарегистрировать основные DLL командами (Пуск→Выполнить):

  • regsvr32 "C:\Program Files\Common Files\System\ado\msado15.dll"
  • regsvr32 "C:\Program Files\Common Files\System\Ole DB\sqloledb.dll"

 

Для Windows Vista, Sever 2008 и более поздних

Для этих ОС изначально не существует отдельно распространяемого инсталлятора WDAC, кроме того, там применяется технология Windows File Protection (WFP), которая защищает системные файлы от любых «несанкционированных» изменений, поэтому единственный возможный способ избежать переустановки системы – это как раз понадеяться, что WFP восстановит поврежденные файлы WDAC.

Чтобы запустить сканирование системы с восстановлением поврежденных файлов надо зайти в меню «Пуск→Все программы→Стандартные», нажать правой кнопкой мыши на пункте «Командная строка» и выбрать «Запуск от имени администратора». В окне командной строки набрать команду и нажать Enter: SFC /SCANNOW

Если ничего не будет восстановлено или это не поможет, то можно попробовать из той же командной строки выполнить регистрацию DLL-файлов, перечисленных в вар.3 предыдущего раздела.

Кроме того, теоретически может помочь откат последних обновлений (которые привели к сбою) и/или установка последнего ServicePack для данной ОС.

Мы будем рады любым предложениям и замечаниям по работе и содержанию сайта www.alta.ru.
Помогите нам стать лучше!
Страница: Техподдержка

Нажимая кнопку «Сохранить», я даю свое согласие на обработку моих персональных данных свободно, своей волей и в своем интересе. С Политикой обработки персональных данных ООО «Альта-Софт» ознакомлен и согласен.