MDAC обеспечивает единую структуру для доступа к различным источникам данных на своих Windows платформа | |
Разработчик (и) | Microsoft |
---|---|
Окончательный выпуск | 2.8 SP1 (2.81.1117.6) / май 2005 г. |
Операционная система | Windows 98, Windows ME, Windows NT 4, Windows 2000, Windows XP, Windows Server 2003, Windows 7, Windows 10 |
Тип | База данных |
Лицензия | Бесплатное ПО |
Веб-сайт | msdn2.microsoft.com / en-us / data / aa937729.aspx |
Компоненты доступа к данным Microsoft (MDAC ; также известный как Windows DAC ) структура взаимосвязанных технологий Microsoft, которая позволяет программистам единый и всеобъемлющий способ разработки приложений, которые могут получить доступ практически к любому хранилищу данных. Его компоненты включают: объекты данных ActiveX (ADO), OLE DB и Open Database Connectivity (ODBC). Также было несколько устаревших компонентов, таких как Microsoft Jet Database Engine, MSDASQL (поставщик OLE DB для ODBC) и Remote Data Services (RDS). Некоторые компоненты также стали устаревшими, например прежние объекты доступа к данным API и удаленные объекты данных.
Выпущена первая версия MDAC в августе 1996 года. В то время Microsoft заявила, что MDAC был больше концепцией, чем отдельной программой и не имел широко распространенного метода распространения. Позже Microsoft выпустила обновления для MDAC в виде распространяемых через Интернет пакетов. В конце концов, более поздние версии были интегрированы с Microsoft Windows и Internet Explorer, а в MDAC 2.8 SP1 они перестали предлагать MDAC в качестве распространяемого пакета.
На протяжении всей своей истории MDAC подвергался нескольким недостаткам безопасности, которые приводили к таким атакам, как атака с повышенными привилегиями, хотя уязвимости обычно устранялись в более поздние версии и довольно быстро. Текущая версия - 2.8 пакет обновления 1, но у продукта было много разных версий, и многие его компоненты устарели и были заменены новыми технологиями Microsoft. MDAC теперь известен как Windows DAC в Windows Vista.
Последняя версия MDAC (2.8) состоит из нескольких взаимодействующих компонентов, каждый из которых для Windows, за исключением ODBC (который доступен на нескольких платформах). Архитектуру MDAC можно рассматривать как три уровня: уровень интерфейса программирования, состоящий из ADO и ADO.NET, уровень доступа к базе данных, разработанный такими поставщиками баз данных, как Oracle и Microsoft (OLE DB, управляемые поставщики.NET и драйверы ODBC ), а также саму базу данных. Все эти уровни компонентов доступны для приложений через MDAC API. Сетевая библиотека Microsoft SQL Server, проприетарный метод доступа, специфичный для Microsoft SQL Server, также включен в MDAC. Разработчикам приложений Windows рекомендуется использовать ADO или ADO.NET для доступа к данным, преимущество состоит в том, что пользователи прикладной программы не ограничены в выборе архитектуры базы данных, за исключением того, что она должна поддерживаться MDAC. Естественно, у разработчиков по-прежнему есть возможность писать приложения с прямым доступом к OLE DB и ODBC.
Сетевая библиотека Microsoft SQL Server (также известная как Net-Lib) используется Microsoft SQL Server для чтения и записи данных с использованием множества различных сетей. протоколы. Хотя Net-Lib специфична для SQL Server, Microsoft включает ее в состав MDAC. SQL Server использует библиотеку Open Data Services (ODS) для связи с Net-Lib, которая напрямую взаимодействует с подсистемой Win32 строки операционной системы Windows NT. Сетевая библиотека SQL Server управляется с помощью клиентской сетевой утилиты, которая входит в комплект поставки SQL Server.
Каждый сетевой протокол, поддерживаемый Net-Lib, имеет отдельный драйвер (не путать с драйвером устройства ) и поддерживает сеансовый уровень в своем протоколе. стек. Существует два основных типа Net-Lib: основной и дополнительный. Основная Net-Lib состоит из Super Socket Net-Lib и Net-Lib с общей памятью, в то время как существует множество дополнительных Net-Lib, включая TCP / IP и именованные каналы сети. библиотеки (именованные каналы - это метод связи с другими процессами через постоянный в системе конвейер, которому присвоена идентификационная информация). Поставщик Microsoft OLE DB для SQL Server (SQLOLEDB) взаимодействует через первичные Net-Libs.
Super Socket Net-Lib занимается межкомпьютерным обменом данными и координирует вторичные Net-Libs, хотя вторичный Net-Lib TCP / IP является исключением, поскольку он вызывает Windows Sockets 2 API напрямую. Banyan VINES, AppleTalk, ServerNet, IPX / SPX, Giganet и RPC Net-Libs были удалены с MDAC 2.5 и новее. Маршрутизатор сетевой библиотеки должен был управлять всеми этими протоколами, однако теперь маршрутизатор управляет только именованными вторичными каналами Net-Lib. Super Socket Net-Lib также обрабатывает шифрование данных с помощью Windows SSL API.
Net-Lib с общей памятью, с другой стороны, управляет подключениями между несколькими экземплярами SQL Server, существующими на одном компьютере. Он использует область разделяемой памяти для связи между процессами. Это по своей сути безопасно; нет необходимости в шифровании данных между экземплярами SQL Server, которые существуют на одном компьютере, поскольку операционная система не разрешает другим процессам доступ к области общей памяти экземпляров.
Net-Lib также может поддерживать олицетворение контекста безопасности вошедшего в систему пользователя для протоколов, которые поддерживают аутентифицированные соединения (называемые доверенными соединениями). Это позволяет Net-Lib обеспечивать интегрированный механизм аутентификации при входе в систему с использованием аутентификации Windows. Аутентификация Windows не поддерживается в Windows 98 или Windows Me.
OLE DB (также называемый OLEDB или OLE-DB) позволяет приложениям MDAC получать доступ к различным типам ([data]) магазины единообразно. Microsoft использовала эту технологию, чтобы отделить приложение от данных, которые могут храниться на веб-сайте, хранилище данных, к которому ему необходимо получить доступ. Это было сделано потому, что разным приложениям необходим доступ к разным типам и источникам данных, и им не обязательно знать, как получить доступ к специфическим для технологии функциям. Технологии концептуально делятся на потребителей и поставщиков. Потребители - это приложения, которым необходим доступ к данным, а поставщик - это программный компонент, который предоставляет интерфейс OLE DB с помощью объектной модели компонентов (или COM).
OLE DB - это технология интерфейса доступа к базе данных, используемая MDAC. Провайдеры OLE DB могут быть созданы для доступа к таким простым хранилищам данных, как текстовый файл или электронная таблица, через такие сложные базы данных, как Oracle и SQL Server. Однако, поскольку разные технологии хранения данных могут иметь разные возможности, поставщики OLE DB могут не реализовывать все возможные доступные интерфейсы. Доступные возможности реализуются за счет использования COM-объектов - поставщик OLE DB сопоставляет функциональные возможности технологии хранилища данных с конкретным COM-интерфейсом. Microsoft называет доступность интерфейса «зависящей от поставщика», поскольку она может быть неприменима в зависимости от используемой технологии базы данных. Кроме того, однако, поставщики могут также расширить возможности хранилища данных; эти возможности известны как службы на языке Microsoft.
Поставщик Microsoft OLE DB для SQL Server (SQLOLEDB) - это поставщик OLE DB, который Microsoft предоставляет для Microsoft SQL Server начиная с версии 6.5.
Файлы универсальной связи данных (или «файлы.udl») предоставляют общий пользовательский интерфейс для указания атрибутов соединения. Пользователь может использовать диалоговое окно Свойства связи с данными , чтобы сохранить информацию о подключении в файле.udl в качестве альтернативы прямому указанию их вручную в строке подключения. Следовательно, эти файлы обеспечивают удобный уровень косвенного обращения. Кроме того, в диалоговом окне указывается ряд альтернативных поставщиков данных OLE DB для различных целевых приложений.
Open Database Connectivity (ODBC) - это собственный интерфейс, доступ к которому осуществляется через язык программирования (обычно C ), который может выполнять вызовы в родную библиотеку. В MDAC этот интерфейс определяется как DLL. Для каждой базы данных, к которой необходимо получить доступ, необходим отдельный модуль или драйвер. Функции ODBC API реализуются этими специфичными для СУБД драйверами. Драйвер, который Microsoft предоставляет в MDAC, называется драйвером ODBC для SQL Server (SQLODBC) и (как следует из названия) разработан для Microsoft SQL Server. Он поддерживает SQL Server v6.5 и выше. ODBC позволяет программам использовать запросы SQL, которые будут обращаться к базам данных без необходимости знать проприетарные интерфейсы к базам данных. Он обрабатывает запрос SQL и преобразует его в запрос, понятный отдельной системе баз данных. По заявлению Microsoft, «после SQL Server 2012 драйвер ODBC будет обновлен с учетом самых последних функций сервера, включая базу данных SQL Microsoft Windows Azure, и выпущен как драйвер Microsoft ODBC для SQL Server».
Объекты данных ActiveX (ADO ) - это интерфейс программирования высокого уровня для OLE DB. Он использует иерархическую модель объекта, чтобы позволить приложениям программно создавать, извлекать, обновлять и удалять данные из источников, поддерживаемых OLE DB. ADO состоит из ряда иерархических объектов и коллекций на основе COM, объекта, который действует как контейнер для многих других объектов. Программист может напрямую обращаться к объектам ADO для управления данными или может отправить запрос SQL в базу данных через несколько механизмов ADO. ADO состоит из девяти объектов и четырех коллекций.
Коллекции:
Это следующие объекты:
Provider = 'SQLOLEDB'; Data Source = 'TheSqlServer'; Исходный каталог = "Борей"; интегрированная безопасность = "SSPI";
"). Начало которого должно указывать на тип подключения к хранилищу данных, который требуется объекту подключения. Это должно быть либо: Update
или UpdateBatch
. Добавление новых записей выполняется с помощью функции AddNew
, а затем путем вызова метода Update
или UpdateBatch
. Записи также удаляются в наборе записей с помощью метода Delete, а затем путем вызова метода Update. Однако если по какой-либо причине удаление не может произойти, например, из-за нарушений в ссылочной целостности, то набор записей останется в режиме редактирования после вызова метода Update
. Программист должен явно вызвать функцию CancelUpdate
, чтобы отменить обновление. Кроме того, ADO может откатывать транзакции (если это поддерживается) и отменять пакетные обновления. Наборы записей также можно обновить одним из трех способов: посредством немедленного обновления, посредством пакетного обновления или с помощью транзакций: adLockOptimistic
или adLockPessimistic
блокировка. Данные обновляются в источнике данных после изменения записи и вызова метода Update
.adLockBatchOptimistic
и каждый раз Обновление
вызывается обновлением данных во временном буфере. Наконец, когда вызывается UpdateBatch
, данные полностью обновляются обратно в источнике данных. Преимущество этого заключается в том, что все это делается в памяти, и в случае возникновения проблемы вызывается UpdateCancel
, и обновления не отправляются в источник данныхBeginTrans
и выполняет необходимые обновления. Когда все они будут выполнены, программист вызывает метод CommitTrans
. RollbackTrans
может быть вызван для отмены любых изменений, сделанных внутри транзакции, и отката базы данных до состояния до начала транзакцииADO.NET - последняя версия ADO (после ADO 2.8, теперь часто называемый ADO Classic) и является частью стека MDAC 2.8 наряду с классическим ADO. Он построен на Microsoft.NET. Хотя иногда это рассматривается как эволюционный шаг по сравнению с ADO, некоторые фундаментальные структурные изменения были внесены Microsoft. ADO.NET работает через.NET Managed Provider, модифицированную версию поставщика OLE DB, специально разработанную для.NET. Структура объекта больше не строится вокруг объекта Recordset. Вместо этого объект набора данных используется для хранения данных, собранных из нескольких источников. Это прозрачно для программиста. В отличие от старого набора записей ADO, дизайн набора данных способствует использованию отключенных данных. Концептуально объект Dataset можно рассматривать как отдельную небольшую реляционную базу данных в памяти, которая позволяет манипулировать данными в любом направлении. Для распространения изменений обратно в базу данныхиспользуется объект DataAdapter, который передает данные из источника данных в объект DataSet. Курсоры также устарели в ADO.NET и были заменены объект DataReader, который используется для обработки большого списка результатов по одной записи за раз без их сохранения.
MDAC - это постоянно развивающаяся инфраструктура компонентов. Таким образом было объявлено несколько компонентов, которые ранее входили в его состав, но с тех пор были объявлены устаревшими или полностью удалены из платформы.
Jet означает Joint Engine Technology и был ядром базы данных, используемым для Microsoft Access, Microsoft Сервер Exchange и Visual Basic. Jet был частью системы управления реляционными базами данных (RDBMS) и предлагал единый интерфейс, которое могло использовать другое программное обеспечение для доступа к базам данных Microsoft. Jet также обеспечивает поддержку безопасности, ссылочной целостности, обработки транзакций, индексции, записи и блокировки страниц, а также репликации данных. В более поздних версиях Jet ядро было расширено для выполнения SQL запросов, хранения символьных данных в формате Unicode, создания представлений и разрешено двунаправленной репликации с Microsoft SQL Server.. С тех пор его заменили на MSDE.
. В Jet было три модуля. Одним из них был Native Jet ISAM Driver, библиотека динамической компоновки Jet (DLL), которая могла напрямую управлять файлами базы данных Microsoft Access (MDB), которая была модифицирована база данных данных метода индексированного последовательного доступа (ISAM). Еще одними из модулей были драйверы ISAM, библиотеки DLL, которые разрешили доступ к базам данных ISAM, среди которых были Xbase, Paradox, Btrieve и файлы FoxPro. Последним модулем была DLL объектов доступа к данным (DAO), DAO позволяла программистам получить доступ к движку Jet. По сути, это был объектно-ориентированный язык данных, используя приложениями Access Basic и Visual Basic для доступа к Jet.
Аналогичным образом поставщик Microsoft Jet OLE DB и объекты репликации (JRO), позволяющие репликацию между новыми данными Jet, были удалены из MDAC 2.6
Microsoft Поставщик OLE DB для ODBC, или MSDASQL
, был поставщик OLE DB для доступа объектов данных ActiveX к базам данных через любой драйвер ODBC. Microsoft предоставила несколько поставщиков OLE-DB (для службы индексирования, Active Directory, Jet, SQL Server, Oracle (MSDAORA
) и публикации в Интернете), однако, если не указано, ADO по умолчанию использовала использование MSDASQL в качестве поставщика по умолчанию. После MDAC 2.5 и драйвер Oracle ODBC и MSDASQL поддерживали Oracle 7 и частично поддерживали Oracle 8i. Не поддерживались следующие функции:
Microsoft изначально не рекомендовала компонент MSDASQL для 64-разрядных операционных систем, а драйвер ODBC Microsoft Oracle позже был установлен.NET Managed Oracle Provider, который поддерживал Oracle 9i. Однако Windows Server 2008 и Windows Vista SP1 поставляются с 64-разрядной версией MSDASQL.
Службы удаленных данных (RDS) позволяли извлекать набор данных с сервера, который клиент каким-то образом изменял, а отправлял обратно на сервер для дальнейшей обработки. С появлением популярного внедрения Transact-SQL, который расширяет SQL такими программными конструкциями, как циклы и условные операторы, необходимость в этом отпала, и в итоге в MDAC 2.7 он стал устаревшим. Microsoft выпустила SOAP Toolkit 2.0, который позволяет клиентам делать это с помощью открытого стандарта на основе XML.
SQLXML был разработан для SQL Server 2000, но был объявлен устаревшим в MDAC 2.6. Это позволяетло XPath просматривать реляционную базу данных Microsoft и позволяло просматривать данные в виде файла XML. На самом деле он не является устаревшим, но был удален из более поздних версий MDAC, хотя Microsoft использует его в качестве используемого средства поддержки в своих 64-разрядных системах.
Некоторые компоненты были полностью удалены из MDAC Microsoft и больше не поддерживаются. Это:
Со временем Microsoft выпустила несколько версий MDAC. Метод распространения различен, и набор функций различен для каждой версии.
MDAC 1.0 был выпущен в августе 1996 года. Согласно Microsoft, «MDAC 1.0 существовал как концепция, чем скоординированная программа установки». Стек MDAC 1.0 состоял из ODBC 3.0, OLE DB 1.1, ADO 1.0 и Advanced Data Connector (ADC) 1.0, который, согласно Microsoft, был предшественником службы удаленных данных MDAC 1.5. В него также включены драйверы ODBC для баз данных Access / Jet, SQL Server и Oracle. MDAC 1.0 был выпущен с помощью нескольких механизмов: Advanced Data Connector поставлен с Internet Information Server (IIS) 3.0 и в виде загружаемого файла cab ; OLE DB 1.1 и ADO 1.0 поставляются с OLE DB 1.1 SDK, который поставляется с Visual Studio 97 и также может быть загружен. MDAC 1.0 поставлялся с Active Server Pages, которые входили в состав IIS 3.0, а также поставлялись с Visual InterDev 1.0.
MDAC 1.5 был выпущен в сентябре 1997 года. и март 1998 г., иал более централизованный механизм распространения, чем MDAC 1.0. Он был выпущен с Microsoft Internet Explorer 4.0, Internet Client SDK 4.0 и на компакт-диске, выданном на конференции профессиональных разработчиков (PDC) 1997 года. Было пять версий MDAC 1.5:
различные версии MDAC 1.5 состояли из:
В версии MDAC был недостаток безопасности, делавший ее уязвимой для атак с этой привилегиями. Уязвимость привела к тому, что системы, в которых были установлены и IIS, и MDAC, давали неавторизованному веб-пользователю возможность выполнять команды оболочки в системе IIS в качестве привилегированного пользователя. Это может использовать злоумышленнику MDAC для туннелирования SQL и других запросов данных ODBC через общедоступное соединение с частной серверной сетью в многосетевой подключенной к Интернету системе IIS. Это также предоставляется пользователю несанкционированный доступ к защищенным, неопубликованным файлам в системе IIS.
MDAC 1.5 был последним выпуском компонента доступа к данным поддерживаемым Windows NT 3.51 SP5.
MDAC 2.0 распространялся с SDK Data Access 2.0 и включал содержимое MDAC 1.5, ODBC 3.5 SDK и OLE DB 1.5 SDK, а также OLE DB для OLAP Спецификация. Он также включил много обновлений в основной продукт, в том числе функцию безопасности, добавленную в RDS, которая предотвращает его злонамеренное использование сервером IIS. Эта версия входила в состав Windows NT 4.0 SP4, а также в Visual Studio 6.0 с полным пакетом SDK для доступа к данным.
MDAC 2.1 распространялся с SQL Server 7.0 и SQL Server 6.5 SP5. MDAC 2.1 SP1 распространялся с Internet Explorer 5, а MDAC 2.1 SP1a (GA) распространялся с Microsoft Office 2000, BackOffice 4.5 и Visual Studio 98 SP3. Однако ни одна из этих версий MDAC не была выпущена для широкой публики через всемирную паутину. MDAC 2.1 SP2 распространялся с веб-сайта Microsoft. В состав 2.1 были включены следующие компоненты:
Эта версия имеет уязвимости безопасности, в результате чего непроверенный буфер мог позволить атаку с повышенными привилегиями. Это было обнаружено некоторое время спустя и привлекуло MDAC 2.1, 2.5 и 2.6 и было исправлено в более позднем патче
MDAC 2.5 был выпущен 17 февраля 2000 г. и распространялся с Windows 2000, и пакеты обновления для MDAC выпускались с пакетами обновления для Windows 2000. Они также распространялись через веб-сайт Microsoft. Выпущено три пакета обновления. Компоненты, включенные в 2.5:
В этой версии MDAC. При использовании пула сеансов OLE DB Microsoft COM + будет пытаться постоянно загружать и выгружать OLE DB, и может возникнуть конфликт, из-за которого пул сеансов OLE DB будет работать при 100% загрузке ЦП. Позже это было исправлено. Microsoft опубликовала полный список ошибок, исправленных в MDAC 2.5 с пакетом обновления 2 и с пакетом обновления 3 для MDAC 2.5. Также существовала уязвимость системы безопасности (позже исправленная), в результате чего в драйвере SQL Server обнаружен непроверенный буфер. Этот недостаток появился в MDAC 2.5 SP2.
MDAC 2.6 был выпущен в сентябре 2000 г. и распространялся через Интернет вместе с Microsoft SQL Server 2000 MDAC 2.6 RTM, SP1 (выпущен 20 июня 2001 г.) и SP2 (выпущен 11 июня 2002 г.) распространялись параллельно с пакетами обновлений Microsoft SQL Server 2000, а также их можно было загрузить с веб-сайт Microsoft.
С начала этой версии MDAC, Microsoft Jet, поставщик Microsoft Jet OLE DB и драйверы ODBC для настольных базовых данных не включаются. Вместо этого их можно было установить вручную. Microsoft также выпустила предупреждение о том, что MDAC 2.6 не следует устанавливать в SQL Server 7.0, поскольку кластер MDAC 2.6 или более поздней версии на любом узле кластера напрямую или посредством установки другой программы может вызвать катастрофический сбой агента SQL Server или другого SQL Серверные службы ». Эта проблема затрагивала Backup Exec 9.0 для серверов Windows Veritas Software, поскольку он устанавливает Microsoft SQL Server 2000 Desktop Engine (MSDE 2000) в качестве своей базы данных. В редакции 4367 был установлен MDAC версии 2.6 SP2. 4454 установил MDAC версии 2.7 SP1, в котором не было проблем.
MDAC 2.7 был выпущен в октябре 2001 года через веб-сайт Microsoft. Обновленный выпуск был выпущен в апреле 2002 года посредством выпуска Windows XP и через веб-сайт Microsoft. Версия 2.7 была доступна на английском (США), китайском (традиционный и упрощенный), немецком, японском, корейском, бразильском португальском, чешском ch, датский, греческий, словацкий, словенский, испанский, финский, французский, венгерский, итальянский, голландский, норвежский, польский, португальский, русский, Шведский и турецкий. Иврит и арабский были доступны только в Windows XP.
Основным изменением функции была поддержка 64-битной операционной системы Microsoft, однако поддержка Banyan VINES также была исключена из этой версии MDAC. Было несколько известных проблем: MDAC 2.7 продолжал вызывать проблемы с подключением на кластерных серверах под управлением Microsoft SQL Server 6.5 или SQL Server 7.0, и Microsoft не предоставила никакого обходного пути. При создании или настройке ODBC имен источников данных (DSN) с использованием драйвера ODBC Microsoft SQL Server протокол сетевой библиотеки может неожиданно переключиться на TCP / IP, даже если DSN был настроен на использование именованные каналы. Эту проблему обнаружил репортер InfoWorld Рэндалл К. Кеннеди, который обнаружил, что изменение действительно было внесено в MDAC 2.6, но не было задокументировано. Это было обнаружено при тестировании рабочих нагрузок клиент-серверной базы данных на компьютере под управлением Windows XP; InfoWorld утверждает, что, хотя общая загрузка ЦП сервера выросла всего на 8 процентов при использовании TCP / IP, переключение контекста в секунду упало более чем на 150 процентов (что, конечно, невозможно, потому что тогда у вас будет отрицательная скорость переключения контекста - падение составляет 33% или 60% в зависимости от того, на какой планете находился автор во время написания) для рабочей нагрузки из 10 пользователей. Их не впечатлило то, что фундаментальные функциональные изменения поведения Net-Lib по умолчанию произошли без простого упоминания в несвязанном документе. Пользователи Windows XP также иногда испытывали проблемы с подключением к SQL Server, поскольку SQL Server пытается использовать сертификаты, которые он находит на локальном компьютере, однако, если доступно более одного сертификата, он не знает, какой из них использовать. При попытке использовать Microsoft Analysis Services 2000 RTM иногда возникала ошибка при попытке просмотра кубов. Microsoft также обнаружила проблему в программе установки Windows 95, Windows 98 и Windows Me, которая препятствовала откату программы установки MDAC при обнаружении ошибка установки.
Microsoft решила несколько проблем безопасности для MDAC 2.7. Дэвид Литчфилд сообщил об уязвимости системы безопасности, которая возникает из-за того, что одна из функций ODBC в MDAC, которая используется для подключения к источникам данных, содержит непроверенный буфер. Еще одна уязвимость, которая была исправлена, заключалась в том, что злоумышленник мог ответить на широковещательное сообщение об обнаружении SQL Server от клиентов с помощью специально созданного пакета, который мог вызвать переполнение буфера. Был обнаружен еще один недостаток, при котором код мог выполняться удаленно, когда злоумышленник отвечал на широковещательную рассылку другим специально созданным пакетом.
MDAC 2.8 был выпущен в августе 2003 года и распространялся с Microsoft Windows Server 2003, а также на веб-сайте Microsoft Data Access Technologies. Он не привнес в продукт никаких новых функций, но исправил ряд ошибок и проблем с безопасностью - был удален reg-файл (автоматизирует изменения в реестре), что заставило сервер работать в «небезопасном» режиме, в результате чего RDS можно было использовать для получить несанкционированный доступ к системе и новое ограничение было наложено на длину строки запроса формы. Также было несколько изменений администратора ODBC.
23 мая 2005 г. Брэд Роудс (ведущий менеджер программ Microsoft Data Access Technologies) объявил, что MDAC 2.8 SP1 был последним автономным распространяемым пакетом MDAC, который Microsoft будет поставлять. MDAC теперь является официальным компонентом операционной системы Microsoft. Однако Microsoft создает новый компонент под названием (SQLNCLI), который представляет собой автономный API-доступ к данным, который объединил библиотеки OLE DB и ODBC в одну DLL. Он был настроен, чтобы быть независимым от MDAC, теперь это зависит от состояния операционной системы, который разработчик теперь подключает к этой библиотеке и избегает операций, когда обновляет операционную систему, которая обновляет MDAC, который нарушает работу приложений, созданных для другой версии MDAC.
Windows 7 SP1 нарушила прямую совместимость MDAC 2.8. Программное обеспечение, скомпилированное на Windows 7 с пакетом 1 (SP1) и основанное на MDAC ADO, не будет работать в версиих Windows до Windows 7 с пакетом обновлений 1 (включая Windows 7 RTM, Vista, XP). Microsoft предоставила решения, позволяющие обойти эту проблему для некоторых приложений, но приложения VBA остаются уязвимыми. Исправление этой проблемы было выпущено в феврале 2012 года.
Windows Vista больше не будет использовать MDAC, а вместо этого будет использовать Windows DAC, который состоит из обновленных версий ADO, OLE Компоненты DB и ODBC. Согласно Microsoft, «Windows DAC включает некоторые изменения для работы с Windows Vista, но практически полностью функционально эквивалентен MDAC 2.8».
Есть два способа проверить версию MDAC, установленный на компьютере. Для Windows 2000, Windows XP и Windows Server 2003 один из способов проверки - это программа Microsoft Component Checker, которая сравнивает значение каждой установленной библиотеки DLL MDAC с манифестом файла MDAC. Второй способ - проверить ключ HKEY_LOCAL_MACHINE \ Software \ Microsoft \ DataAccess \ FullInstallVer
в реестре Windows. Microsoft отмечает, что эта информация может быть неверной для версий MDAC до 2.1 по сравнению с версиями файлов MDAC, приложений в системе
Версия | Дата выпуска | Включено в | Функции | Проблемы безопасности |
---|---|---|---|---|
1.0 | Август 1996 г. |
|
| Бюллетени не выпущены |
1.5 | сентябрь 1997 г. - март 1998 г. |
|
| |
1.5a | Сентябрь 1997 г. - март 1998 г. | Сервисный выпуск | ||
1.5b | Сентябрь 1997 г. - март 1998 г. |
| Сервисный выпуск | |
1.5c | Сентябрь 1997 г. - март 1998 г. |
| ||
2.0 | 1 июля 1998 г. |
|
| |
2.0SP1 | 1 июля 1998 г. |
| 2000 г. исправление для Windows NT 4.0 | |
2.0SP2 | 1 июля 1998 г. |
| Исправление 2000 г. для всех платформ | |
2,1 | 11 июля 1998 г. |
|
| |
2.1 SP1 | Март 15, 1999 |
| ||
2.1 SP1a (GA) | 1 апреля 1999 г. |
| ||
2.1 SP2 | июль 1999 г. | |||
2.5 | 17 февраля 2000 г. |
|
| |
2.5 SP1 | 31 июля, 2000 |
| ||
2.5 SP2 | апрель 2000 |
| ||
2.5 SPS3 | декабрь 2003 |
| ||
2.6 | сентябрь 2000 г. |
| Не входит (устанавливается вручную):
| |
2.6 SP1 | май 2001 г. |
| ||
2.6 SP2 | май 2002 |
| ||
2,7 | октябрь 2001 г. |
|
| |
2.8 | август 2003 г. |
| Исправленные ошибки и проблемы безопасности | |
2.8 SP1 | май 2005 |
| Исправлены ошибки | |
2.8 SP2 | март 2005 |
| ||
9.0 | Никогда не выпускался |
| ||
Windows DAC 6.0 (вариант MDAC для использовать с Vista) | ноябрь 2006 г. |
|