Восстановление компонентов 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 для данной ОС.
Windows xp mdac sp3
Описываю проблему. Есть программа, написанная еще на Delphi 5 и использующая технологии ADO для подключения к БД Microsoft Officce Access 97. До сих пор ни от кого жалоб на нее не было. Она и на 98-й Винде у людей работала, и на 2000-й, и на ХР с Вистой. Но тут на днях получил письмо от одного человека. Он пишет, что программа у него не работает, вызывает ошибку:
====================================
Application Error.
Exception in module MyPhone.exe at 0008EA4B
Error creating object.Please verify that the Microsoft Data Access Components 2.1(or Later)
have been properly installed.
====================================
У человека на ноутбуке Acer ASPIRE 7738G (внутренний модем -«LSI HDA» (High Definition Audio)голосовые функции не поддерживает,
поддерживает Caller ID) стоит Windows 7.
Из ошибки ясно, что проблема в MDAC. Человек также рассказал, что при покупке ноутбука была установлена демо-версия Microsoft Officce2007 на 60 дней, которую он снёс! Я ему предложил скачать и установить MDAC.
Вот что он написал в следующем письме:
=====================================
Зашел на эту страничку(http://blog.jawsik.com/?p=428&cp=1)
скачал нужно версию MDAC 2.8SP1
Далее,как рекомендует автор:
1.Нажмите ПУСК > Выполнить.
2.Введите это: %SystemRoot%\System32\rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 %SystemRoot%\Inf\mdac.inf
3.Нажмите ОК. ,но у меня нет инсталяционного файла,и я указал путь к MDAC_TYP.EXE,он куда-то установился, я стал икать файл mdac.inf( \System32\Inf. И самое удивительное, что его нет. ребус какой-то,файл инсталируется,а найти не могу!!
Пробую следующий вариант,запускаю редактор реестра задаю правка-найти-mdac.inf
файл не найден. куда-же инстолирует MDAC_TYP.EXE? ни чего не понимаю!!
Пробую следующий вариант,запускаю редактор реестра задаю правка-найти Microsoft Data Access Components
находит-Microsoft Data Access Components Installe Version(2.1),
ищю дальше-нахдит-Microsoft Data Access Components Internet Publishing Provider DAV,
ищю дальше-нахдит-Microsoft Data Access Components Internet Publishing Provider WEC.
Я ни чего из этого не понял,поня только одно, что каким-то образом в реестре прописался
Microsoft Data Access Version(2.1),
а ранее сделаные инсталяции не прописываются в реестр.
=====================================
Письмо, как видите, немного сумбурное. Но из его понятно, что ранее MDAC присутствовал в системе. Как его реанимировать? Или вообще как удалить любые упоминания о MDAC в Системе, а затем его заново поставить? А что если предложить ему поставить Microsoft Officce Access? MDAC встанет вместе с acces»ом, или это ничего не даст?
← →
Anatoly Podgoretsky © ( 2010-10-18 21:04 ) [1]
> burda_a_m (18.10.2010 20:28:00) [0]
Начиная с ХР SP1 mdac не подлежит установке, поскольку является системным
компонентом и обрабатывается исключительно средствами Windows Update.
> Начиная с ХР SP1 mdac не подлежит установке
и тем не менее у меня были случаи когда в нем не было мдака (видимо пиратские версии), очень давно правда, «лечил» установкой Jet40SP3_Comp.exe (последняя полная, следующие только апдейты)
http://www.indifference.com/web_school/ultradev_setup/Microsoft%20Universal%20Data%20Access%20Download%20Page.htm
и последующим последним апдейтом.
да, вроде до установки приходилось в реестре «понижать версию» тем «огрызкам» что там еще оставались. не помню уже.
блин, сбило, не мдака, а jet. но вроде автор с ним и имеет проблемы, судя по «БД Microsoft Officce Access 97», т.что. написанному верить, несмотря на опечатку.
а mdac перестал включать в себя jet с версии 2.5. т.е.
> скачал нужно версию MDAC 2.8SP1
проблем с аccess-ом не решит.
← →
Anatoly Podgoretsky © ( 2010-10-18 22:44 ) [4]
> sniknik (18.10.2010 22:08:02) [2]
Это JET а я про него ничего не говорил. Я даже не знаю действует ли это еще.
А попытка установки MDAC кончится ничем.
> вроде до установки приходилось в реестре «понижать версию»
http://forum.oszone.net/post-1166947.html#post1166947
> действует ли это еще
Jet has been included in every version of Windows from Windows 2000 to Windows 7 («Microsoft Jet Database Engine» в Wikipedia)
«В системе Windows Vista используется более поздняя версия Jet 4.0, чем та, которая входит в пакет обновления 8 (SP8) для Jet 4.0»:
http://support.microsoft.com/kb/239114/ru
← →
semen ( 2010-10-21 13:51 ) [6]
Repair MDAC WIN XP SP3
MDAC or Microsoft Data Access Components (also known as DAC) is a framework of interrelated Microsoft technologies that allows programmers a uniform and comprehensive way of developing applications that can access almost any data store. Microsoft does not make it easy to reinstall MDAC individually. So, you’re running Windows XP SP3, you can’t get MDAC to work under XP and reinstalling XP SP3 does not resolve the problem? Here’s what you can do:
Did you know? Windows 10 is Microsoft’s latest OS. There are many new tips and tricks that you can learn to improve the user experience. Read our Windows 10 User Guide to learn about: |
Windows XP with Service Pack 2 or 3 contains MDAC version 2.81, which is currently not available for download at the Microsoft Web site as a standalone installation. If you try to install MDAC 2.8, which is the latest available standalone download of MDAC, you will receive a message that you already have a newer version of MDAC installed. Therefore, under Windows XP SP2/SP3, you must manually repair MDAC 2.81 as outlined below.
How to Repair MDAC 2.81 under Windows XP with SP2 or SP3
In Windows Explorer, open the c:WindowsInf folder.
Note If you cannot see the c:WindowsInf folder, follow these steps:
a. | On the desktop, double-click My Computer, and then on the Tools menu, click Folder Options. |
b. | Click the View tab. |
c. | Under Advanced settings, select the Show hidden files and folders checkbox. |
d. | Clear the Hide extensions for known file types check box. |
e. | Click OK. |
Did you know? You can now learn how to perform the Windows Update Error 8007000d Fix! Check out the guide for more information.
2. | In the C:WindowsInf folder, right-click the Mdac.inf file and then click Install. | ||||||||||||||||||||||||||||||||||||||
3. | When you are prompted to insert the Windows XP SP2 CD, use one of the following methods:
Did you know? You can now learn how to Fix dns_probe_finished_nxdomain Error! Check out the guide for more information.
Did you know? You can now learn how to do a dns_probe_finished_bad_config Fix! Check out the guide for more information.
Note: In case that you cannot find those files in the given folders, search the whole hard disk for them. Further Optional StepsReinstalling MDAC in XP SP3
|