Кіріспе
Microsoft Data Access Components (MDAC; сондай-ақ Windows DAC деп аталады) – бағдарламашыларға кез келген деректер қоймасына қол жеткізе алатын қолданбаларды жасаудың бірыңғай және толыққанды жолын ұсынатын, өзара байланысты Microsoft технологияларының жиынтығы. Оның құрамына ActiveX Data Objects (ADO), OLE DB және Open Database Connectivity (ODBC) кіреді. Сонымен қатар, Jet Database Engine, MSDASQL (ODBC үшін OLE DB провайдері) және Remote Data Services (RDS) сияқты бірнеше қолданыстан шығарылған компоненттер де болды. Data Access Objects API және Remote Data Objects сияқты бұрынғы кейбір компоненттер де ескірген. MDAC-тің алғашқы нұсқасы 1996 жылдың тамызында жарық көрді. Ол кезде Microsoft MDAC-ті жеке бағдарлама емес, көбінесе түсінік ретінде қарастырды және оны кең таратпады. Кейін Microsoft MDAC-ке жаңартуларды веб-базалы қайта тарату пакеттері ретінде шығарды. Көп ұзамай, кейінгі нұсқалары Microsoft Windows және Internet Explorer жүйелерімен біріктірілді, ал MDAC 2.8 SP1 нұсқасынан бастап MDAC қайта тарату пакеті ретінде ұсынылатын болды. Тарихы бойында MDAC бірнеше қауіпсіздік кемшіліктеріне тап болды, бұл құқықтарды жоғарылату сияқты шабуылдарға әкелді, бірақ бұл осалдықтар көбінесе кейінгі нұсқаларда жылдам түзетілді. Қазіргі нұсқасы – 2.8 сервистік жинағы 1, бірақ өнімнің көптеген нұсқалары болды және оның көптеген компоненттері ескірген, жаңа Microsoft технологияларымен алмастырылды. MDAC енді Windows Vista жүйесінде Windows DAC деп белгілі.
Microsoft Data Access Components (MDAC; also known as Windows 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. Its components include: ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC). There have been several deprecated components as well, such as the Jet Database Engine, MSDASQL (the OLE DB provider for ODBC), and Remote Data Services (RDS). Some components have also become obsolete, such as the former Data Access Objects API and Remote Data Objects. The first version of MDAC was released in August 1996. At that time Microsoft stated MDAC was more a concept than a stand alone program and had no widespread distribution method. Later Microsoft released upgrades to MDAC as web based redistributable packages. Eventually, later versions were integrated with Microsoft Windows and Internet Explorer, and in MDAC 2.8 SP1 they ceased offering MDAC as a redistributable package. Throughout its history, MDAC has been the subject of several security flaws, which led to attacks such as an escalated privileges attack, although the vulnerabilities were generally fixed in later versions and fairly promptly. The current version is 2.8 service pack 1, but the product has had many different versions and many of its components have been deprecated and replaced by newer Microsoft technologies. MDAC is now known as Windows DAC in Windows Vista.
Сәулет
MDAC (2.8) соңғы нұсқасы бірнеше өзара әрекеттесетін компоненттерден тұрады, олардың барлығы ODBC-ден басқа Windows-қа тән (бірнеше платформада қолжетімді). MDAC архитектурасын үш деңгейлі құрылым ретінде қарастыруға болады: ADO және ADO.NET құрайтын бағдарламалау интерфейсі деңгейі, Oracle және Microsoft сияқты деректер базасы жеткізушілерімен жасалған деректерге қолжеткізу деңгейі (OLE DB, NET басқарылатын провайдерлер және ODBC драйверлері), және деректер базасының өзі. Бұл компоненттік деңгейлердің барлығы MDAC API арқылы қолданбаларға қолжетімді. Microsoft SQL Server Network Library, Microsoft SQL Server-ге ғана тән, эксклюзивті қолжеткізу әдісі де MDAC құрамына кіреді. Windows қолданбаларын әзірлеушілерге деректерге қолжеткізу үшін ADO немесе ADO.NET пайдалану ұсынылады, себебі бұл қолданба пайдаланушыларына деректер базасы архитектурасын таңдау еркіндігін береді, тек оны MDAC қолдауы тиіс. Әрине, әзірлеушілер OLE DB және ODBC-ге тікелей қолжеткізіп бағдарлама жазуға да құқылы.
Microsoft SQL Server желілік кітапханасы
Microsoft SQL Server Network Library (Net Lib деп те аталады) Microsoft SQL Server көптеген түрлі желілік протоколдарды қолдана отырып, деректерді оқу және жазу үшін пайдаланылады. Net Lib SQL Server-ге тән болса да, Microsoft оны MDAC-ке қосады. SQL Server Net Lib-пен байланыс орнату үшін Open Data Services (ODS) кітапханасын қолданады, ол Windows NT операциялық жүйесінің Win32 кіші жүйесімен тікелей байланысады. SQL Server желілік кітапханасы SQL Server-мен бірге келетін Клиент желілік құралын пайдалану арқылы басқарылады. Әрбір Net Lib қолдайтын желілік протокол үшін жеке драйвер бар (құрылғы драйверімен шатастырмау керек), және оның протокол стегінде сессия қабатын қолдайды. Net Lib-тің екі негізгі түрі бар: негізгі және қосымша. Негізгі Net Lib Super Socket Net Lib және Ортақ жад Net Lib-тен тұрады, ал TCP/IP және атаулы құбырлар желілік кітапханаларын қоса алғанда, көптеген қосымша Net Lib бар (атаулы құбырлар – басқа процестермен жүйелік тұрақты құбыр желісі арқылы байланыс жасау әдісі). SQL Server үшін Microsoft OLE DB провайдері (SQLOLEDB) негізгі Net Lib арқылы байланысады. Super Socket Net Lib компьютерлер арасындағы байланыспен айналысады және қосымша Net Lib-ті үйлестіреді, бірақ TCP/IP қосымша Net Lib ерекшелік болып табылады, өйткені ол Windows Sockets 2 API-ге тікелей шақырады. Banyan VINES, AppleTalk, ServerNet, IPX/SPX, Giganet және RPC Net Lib MDAC 2.5 нұсқасынан бастап қолдаудан алынды. Желілік кітапхана маршрутизаторының барлық осы протоколдарды басқару міндеті болды, алайда қазір маршрутизатор тек атаулы құбырларды ғана басқарады. Super Socket Net Lib сонымен қатар Windows SSL API-ді пайдалану арқылы деректерді шифрлауды қамтамасыз етеді. Ортақ жад Net Lib, керісінше, бір компьютердегі SQL Server-дің бірнеше инстанциялары арасындағы байланыстарды басқарады. Ол процестер арасында байланыс орнату үшін ортақ жад аймағын пайдаланады. Бұл өзінен-өзі қауіпсіз; бір компьютердегі SQL Server инстанциялары арасында деректерді шифрлеудің қажеті жоқ, өйткені операциялық жүйе басқа процестерге инстанциялардың ортақ жады аймағына кіруге рұқсат бермейді. Net Lib сондай-ақ аутентификацияланған қосылымдарды (сенімді қосылымдар деп аталатын) қолдайтын протоколдар үшін жүйеге кірген пайдаланушының қауіпсіздік контекстін имитациялауды қолдай алады. Бұл Net Lib-ке Windows аутентификациясын пайдалану арқылы интеграцияланған кіруді аутентификациялау механизмін ұсынуға мүмкіндік береді. Windows аутентификациясы Windows 98 немесе Windows Me-де қолдау көрсетілмейді.
ОЛЕ DB
OLE DB (сондай-ақ OLEDB немесе OLE DB деп аталады) MDAC қолданбаларына әртүрлі типтегі деректер сақтау орындарына біртекті түрде қол жеткізуге мүмкіндік береді. Microsoft бұл технологияны қолданбаны деректер сақтау орнынан бөлу үшін пайдаланды, осылайша қолданбаға қажетті деректерге қол жеткізуге болады. Бұл қажеттілік туған себебі, әртүрлі қолданбаларға әртүрлі деректер түрлері мен көздеріне қол жеткізу қажет, сонымен қатар технологияның ерекше функционалдығына қалай қол жеткізуді білудің қажеті жоқ. Технология тұжырымдық тұрғыдан тұтынушылар мен провайдерлерге бөлінеді. Тұтынушылар – деректерге қол жеткізуді қажет ететін қолданбалар, ал провайдер – компоненттік объектілер моделін (немесе COM) пайдалану арқылы OLE DB интерфейсін ұсынатын бағдарламалық құрал компоненті. OLE DB – MDAC қолданатын деректерге қол жеткізу интерфейсі технологиясы. OLE DB провайдерлері мәтіндік файл немесе электрондық кесте сияқты қарапайым деректер сақтау орындарынан бастап Oracle және SQL Server сияқты күрделі деректер базаларына дейін қол жеткізу үшін құрылуы мүмкін. Алайда, әртүрлі деректер сақтау технологияларының әртүрлі мүмкіндіктері болуы мүмкін болғандықтан, OLE DB провайдерлері барлық қол жетімді интерфейстерді іске асырмауы мүмкін. Қол жетімді мүмкіндіктер COM объектілерін пайдалану арқылы іске асырылады, OLE DB провайдері деректер сақтау технологиясының функционалдығын нақты COM интерфейсімен сәйкестендіреді. Microsoft интерфейстің қолжетімділігін «провайдерге тән» деп атайды, себебі ол қолданылып жатқан деректер базасы технологиясына байланысты қолданылмауы мүмкін. Бұдан өзге, провайдерлер деректер сақтау орнының мүмкіндіктерін кеңейте алады; бұл мүмкіндіктер Microsoft терминологиясында қызметтер деп аталады. Microsoft OLE DB Provider for SQL Server (SQLOLEDB) – Microsoft SQL Server үшін 6.5 нұсқасынан бастап Microsoft ұсынатын OLE DB провайдері.
Жалпыға бірдей деректер байланысы
Универсалды деректер байланысы файлдары (немесе '.udl файлдары') қосылым атрибуттарын көрсетуге арналған ортақ пайдаланушы интерфейсін қамтамасыз етеді. Пайдаланушы қосылым туралы ақпаратты udl файлында сақтау үшін деректер байланысы қасиеттері диалогтік терезесін пайдалана алады, бұл қосылым жолында қолмен көрсетуге қарағанда ыңғайлырақ. Нәтижесінде, бұл файлдар қосымша аралық деңгей ұсынады. Сонымен қатар, диалогтік терезе әртүрлі қолданбалар үшін бірнеше баламалы OLE DB дерек провайдерлерін көрсетеді.
ODBC
Ашық деректер қосылысы (ODBC) – бағдарламалау тілі (әдетте C) арқылы қолжетімді болатын, жергілікті кітапханаға шалу мүмкіндігі бар интерфейс. MDAC-те бұл интерфейс DLL ретінде анықталады. Қолжеткізуді қажет ететін әрбір деректер базасы үшін жеке модуль немесе драйвер талап етіледі. ODBC API-дегі функциялар осы деректерді басқару жүйесіне (DBMS) тән драйверлермен іске асырылады. Microsoft MDAC-те ұсынатын драйвер SQL Server ODBC драйвері (SQLODBC) деп аталады және (атынан көрініп тұрғанындай) Microsoft SQL Server үшін арналған. Ол SQL Server v6.5 және одан жоғары нұсқаларын қолдайды. ODBC бағдарламаларға деректер базасының меншік интерфейстерін білмей, деректер базасына кіретін SQL сұраныстарын пайдалануға мүмкіндік береді. Ол SQL сұранысын өңдеп, оны әрбір деректер базасы жүйесі түсінетін форматқа түрлендіреді. Microsoft мәлімдемесіне сәйкес, "SQL Server 2012 нұсқасынан кейін ODBC драйвері ең соңғы серверлік мүмкіндіктерді, соның ішінде Microsoft Windows Azure SQL Database-ті қолдау үшін жаңартылып, SQL Server үшін Microsoft ODBC драйвері ретінде жарияланады".
ADO.NET
АДО.NET – ADO-ның ең соңғы нұсқасы (ADO 2.8-ден кейін, қазір көбінесе ADO Classic деп аталады) және MDAC 2.8 жинағының бір бөлігі болып табылады. Ол Microsoft .NET платформасы негізінде құрылған. Кейде ADO-дан дамыған нұсқа ретінде қарастырылса да, Microsoft негізгі құрылымдық өзгерістер енгізді. АДО.NET, .NET-ке арналған OLE DB провайдерінің өңделген нұсқасы болып табылатын .NET Managed Provider арқылы жұмыс істейді. Объект құрылымы енді Recordset объектісіне негізделмейді. Оның орнына, Dataset объектісі бірнеше дереккөздерден алынған деректерді сақтау үшін пайдаланылады. Бұл бағдарламашы үшін көрінбейді. Ескі ADO Recordset-тен айырмашылығы, Dataset дизайны деректерді байланыссыз пайдалануға ыңғайлы жағдай жасайды. Теориялық тұрғыдан алғанда, Dataset объектісін өз алдына шағын жадтағы реляциялық деректер базасы ретінде қарастыруға болады, ол деректерді кез келген бағытта өңдеуге мүмкіндік береді. Деректердегі өзгерістерді деректер базасына қайтару үшін DataAdapter объектісі қолданылады, ол деректерді дереккөзден Dataset объектісіне жібереді. Сондай-ақ, ADO.NET-те курсорлар қолданылмайды, олар DataReader объектісімен ауыстырылды, ол деректердің үлкен тізімін бір-бір рекорды бойынша тиімді өңдеуге мүмкіндік береді, оларды сақтамай.
Ескірген және ескірген компоненттер
MDAC – үздіксіз дамып жатқан құрамдық бөліктер жиынтығы. Сондықтан, бұрын оның құрамына кірген, бірақ кейіннен қолданудан тоқтатылған немесе толығымен алынып тасталған бірнеше компоненттер болды.
Jet Database Engine және JRO
Jet – Joint Engine Technology дегенді білдіреді және Microsoft Access, Microsoft Exchange Server және Visual Basic қолданған деректер базасының қозғалтқышы болды. Jet – реляциялық деректерді басқару жүйесінің (RDBMS) бір бөлігі болып, басқа бағдарламалық құралдарға Microsoft деректер базасына қол жеткізуге мүмкіндік беретін біртұтас интерфейс ұсынды. Сондай-ақ, Jet қауіпсіздік, анықтамалық тұтастық, транзакцияларды өңдеу, индекстеу, жазбалар мен беттерді құлыптау және деректерді көшіруді қолдады. Jet-тің кейінгі нұсқаларында қозғалтқыш SQL сұраныстарын орындау, Unicode форматындағы мәтіндік деректерді сақтау, көріністер жасау және Microsoft SQL Server-мен екі жақты көшіруге рұқсат беру үшін кеңейтілді. Ол MSDE-мен алмастырылды, ал MSDE SQL Server Express-пен алмастырылды. Jet үш модульден тұрды. Бірі – Native Jet ISAM Driver, ол Microsoft Access деректер базасының файлдарын (MDB) тікелей басқаратын Jet динамикалық кітапханасы (DLL) болды, бұл индекстелген реттік қол жеткізу әдісі (ISAM) деректер базасының өңделген түрі еді. Модульдердің тағы бірі – ISAM драйверлері, DLL-дер, олар ISAM деректер базасына, соның ішінде Xbase, Paradox, Btrieve және FoxPro файлдарына қол жеткізуге мүмкіндік берді. Соңғы модуль – Data Access Objects (DAO) DLL, DAO бағдарламашыларға Jet қозғалтқышына кіруге мүмкіндік берді. Бұл негізінен Access Basic және Visual Basic қолданбаларын жасаушылардың Jet-ке қол жеткізуі үшін пайдаланған объектіге бағытталған дерек тілі болды. Сол сияқты, Jet дерек көздері арасындағы көшіруге мүмкіндік беретін Microsoft Jet OLE DB Provider және Replication Objects (JRO) MDAC 2.6 нұсқасынан алынып тасталды.
Қашықтан деректерді басқару қызметі (RDS)
Қашық деректер қызметтері (RDS) серверден деректер жиынтығын алуға мүмкіндік берді, содан кейін клиент оларды өзгертіп, одан әрі өңдеу үшін серверге қайта жіберді. Transact SQL-дің кеңінен қолданылуы, SQL-ді циклдар мен шартты операторлар сияқты бағдарламалау құрылымдарымен толықтырғандықтан, бұл қажеттілік азайды және MDAC 2.7 нұсқасында қолданудан тоқтатылды. Microsoft SOAP Toolkit 2.0-ты жасады, ол клиенттерге ашық XML негізіндегі стандарт арқылы осы мүмкіндікті пайдалануға мүмкіндік береді.
SQLXML- тің атауы
SQLXML SQL Server 2000 үшін әзірленген, бірақ MDAC 2.6 нұсқасымен қолданыстан шығарылды. Ол Microsoft-тың реляциялық деректер базасын XPath арқылы көруге және деректерді XML файлы түрінде қарауға мүмкіндік берді. Шын мәнінде, ол ескірген жоқ, бірақ MDAC-тің кейінгі нұсқаларынан алынып тасталды, алайда Microsoft оны жүктеуге болатын компонент ретінде ұсынады және 64 биттік операциялық жүйелерде қолдайды.
Ескірген компоненттер
Бірнеше компоненттерді Microsoft MDAC-тен толық алып тастады және енді оларды қолдамайды. Олар:
ESQL/C: Embedded SQL (E SQL немесе ESQL/C деп те аталады) – Visual C-де бағдарламалау кезінде SQL-ді пайдалану тәсілі. Microsoft SQL Server 6.5 шығарылғаннан кейін оған қолдау көрсетуді тоқтатты, бірақ ESQL/C орындалу ортасының бір бөлігін COBOL компиляторларын және құралдарын әзірлейтін Micro Focus компаниясына лицензиялады.
DAO: DAO немесе Data Access Objects – Microsoft Access және Visual Basic-тің алғашқы нұсқаларына Jet деректер базасы қозғалтқышына (Jet Database Engine) қол жеткізуге мүмкіндік беретін Microsoft-тың объектіге бағытталған интерфейсі. Кейіннен (3.5 нұсқасында) ол Jet қозғалтқышын толығымен айналып өтіп, тікелей ODBC дерек көздеріне қол жеткізе алды.
RDO: Қашық деректер объектілері (Remote Data Objects) немесе RDO – ODBC-ге тікелей шақырулар жасайтын интерфейстерді құруға мүмкіндік беретін Microsoft технологиясы. RDO 2.0 нұсқасы Microsoft әзірлеген соңғы нұсқа болды.
DB Library: SQL Server-мен өзара әрекеттесуге мүмкіндік беретін C тіліне негізделген API. SQL Server 2000-нен кейінгі ешбір өнімде қолдау көрсетілмейді, ал SQL Server 6.5-тен кейін жаңа мүмкіндіктер қосылмады.
ESQL/C: Embedded SQL (also known as E SQL or ESQL/C) is a way of using SQL when programming in Visual C. Microsoft dropped support for this after SQL Server 6.5 was released, though they did license some of the ESQL/C run time environment to a company called Micro Focus, who develops COBOL compilers and tools
DAO: DAO, or Data Access Objects were an object oriented interface created by Microsoft which allowed early versions of Microsoft Access and Visual Basic to access the Jet Database Engine. Later (in version 3.5) it was able to bypass the Jet engine altogether and directly access ODBC data sources. RDO: Remote Data Objects, or RDO, was a Microsoft technology that allowed for the creation of interfaces that directly called on ODBC. RDO version 2.0 was the final version developed by Microsoft. DB Library: a C based API that allowed an application to interact with SQL Server. It will not be supported on any product after SQL Server 2000, and no features were added after SQL Server 6.5.
Тарих
Microsoft уақыт өте келе MDAC-тің бірнеше нұсқасын жариялады. Тарату жолы әртүрлі болды және әрбір нұсқаның мүмкіндіктері әртүрлі.
MDAC 1.0
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-тің қашықтықтан деректер қызметінің алға құрылғысы болды. Оған сонымен қатар Access/Jet, SQL Server және Oracle дерекқорына арналған ODBC драйверлері де кірді. MDAC 1.0 бірнеше арна арқылы жарияланды: Интернет ақпараттық серверімен (IIS) 3.0 бірге және жүктеуге арналған cab файлы ретінде жеткізілген Advanced Data Connector; OLE DB 1.1 және ADO 1.0 Visual Studio 97-мен бірге келді және жүктеуге болатын OLE DB 1.1 SDK-мен бірге ұсынылды. MDAC 1.0 Active Server Pages-пен бірге келді, ол IIS 3.0 құрамында болды, сондай-ақ Visual InterDev 1.0-мен бірге де келді.
MDAC 1,5
MDAC 1.5 1997 жылдың қыркүйегі мен 1998 жылдың наурызы аралығында жарық көрді және MDAC 1.0-ға қарағанда көбірек орталықтандырылған тарату механизмін ұсынды. Ол Microsoft Internet Explorer 4.0, Internet Client SDK 4.0 бағдарламаларымен және 1997 жылғы Professional Developers Conference (PDC) конференциясында таратылған CD-ROM арқылы шығарылды. MDAC 1.5-тің бес нұсқасы болды:
MDAC 1.5 (алғашқы шығарылым): Internet Explorer 4.0 және Internet Client SDK бағдарламаларымен бірге келді.
MDAC 1.5a: Microsoft веб-сайтынан жүктеуге болады.
MDAC 1.5b: Windows NT 4.0 Option Pack және Office 97 бағдарламаларымен бірге келді.
MDAC 1.5c: ADO жіптері мен ODBC Connection Pooling мәселелерін шешіп, Microsoft веб-сайты арқылы таратылды. Ол тек ADO/MDAC орындалатын компоненттерін қамтыды.
MDAC 1.5d: Windows 98 және Internet Explorer 4.01 сервистік жинағымен бірге келді.
MDAC 1.5 – Windows NT 3.51 SP5 жүйесінде қолдау көрсетілген соңғы деректерге қол жеткізу компоненті.
MDAC 1.5 (initial release): included with Internet Explorer 4.0 and the Internet Client SDK. MDAC 1.5a: downloadable from Microsoft's website
MDAC 1.5b: came with Windows NT 4.0 Option Pack & Office 97
MDAC 1.5c: fixed issues with ADO threading and ODBC Connection Pooling and was distributed via the Microsoft website. It only came with the ADO/MDAC runtime components. MDAC 1.5d: came included with Windows 98 and Internet Explorer 4.01 service pack 1. MDAC 1.5 was the last data access component release supported under Windows NT 3.51 SP5.
MDAC 2.0
MDAC 2.0, Data Access 2.0 SDK-мен бірге таратылды және MDAC 1.5, ODBC 3.5 SDK, OLE DB 1.5 SDK және OLAP үшін OLE DB спецификациясын қамтыды. Ол сонымен қатар негізгі өнімге көптеген жаңартулар енгізді. Бұл нұсқа Windows NT 4.0 SP4 және толық Data Access SDK-мен бірге келген Visual Studio 6.0-ға да кірді. Бұл нұсқада қауіпсіздік осалдықтары болды, онда тексерілмеген буфер артық құқықтармен шабуылға мүмкіндік беретін еді. Бұл кейінірек анықталды және MDAC 2.1, 2.5 және 2.6 нұсқаларына әсер етті, кейіннен жабдықтама жамасымен шешілді.
MDAC 2, 6
MDAC 2.6 2000 жылдың қыркүйегінде жарияланды және веб арқылы таратылды. Microsoft SQL Server 2000 MDAC 2.6 RTM, SP1 (2001 жылдың 20 маусымында жарияланды) және SP2 (2002 жылдың 11 маусымында жарияланды) 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 Server қызметтерінің күйреуіне әкелуі мүмкін". Бұл мәселе Veritas Software-дің Windows Server үшін Backup Exec 9.0 бағдарламасына әсер етті, өйткені ол өзінің деректер базасы ретінде Microsoft SQL Server 2000 Desktop Engine (MSDE 2000) орнатады. 4367 нұсқасы MDAC 2.6 SP2 нұсқасын орнатты, ал 4454 нұсқасы MDAC 2.7 SP1 нұсқасын орнатты, онда бұл мәселе болған жоқ.
MDAC 2, 7
MDAC 2.7 2001 жылдың қазан айында Microsoft веб-сайты арқылы жарияланды. 2002 жылдың сәуірінде Windows XP және Microsoft веб-сайты арқылы жаңартылған нұсқасы шығарылды. 2.7 нұсқасы АҚШ ағылшын, қытай (дәстүрлі және оңайлатылған), неміс, жапон, корей, бразилиялық португал, чех, дания, грек, словак, словен, испан, фин, француз, венгр, итальян, голланд, норвег, поляк, португал, орыс, швед және түрік тілдерінде қол жетімді болды. Еврей және араб тілдері тек Windows XP арқылы ғана қол жетімді болды. Басты өзгеріс – Microsoft-тың 64 биттік операциялық жүйесіне қолдау көрсету болды, бірақ осы MDAC нұсқасынан Banyan VINES-ке қолдау алынып тасталды. Бірнеше мәселелер белгілі болды: MDAC 2.7 Microsoft SQL Server 6.5 немесе SQL Server 7.0 жұмыс істейтін кластерлік серверлерде байланыс мәселелерін тудыра берді, ал Microsoft бұл мәселені шешу үшін ешқандай жол ұсынбады. Microsoft SQL Server ODBC драйверін пайдаланып ODBC дерек көзі атауларын (DSN) жасау немесе конфигурациялау кезінде желілік кітапхана протоколы күтпегендей TCP/IP-ге ауысуы мүмкін, тіпті DSN атаулы құбырларды пайдалануға орнатылған болса да. Бұл мәселені InfoWorld тілшісі Рэндалл К. Кеннеди анықтады, ол бұл өзгеріс іс жүзінде MDAC 2.6 нұсқасында жасалғанын, бірақ ешқашан жарияланбағанын анықтады. Бұл мәселе Windows XP компьютерінде клиент-серверлік дерекқоры жүктемесін сынау кезінде анықталды; InfoWorld TCP/IP-ді пайдалану арқылы жалпы серверлік процессордың жүктемесі тек 8 пайызға артса да, секундына жасалатын контексттік ауысулар 150 пайызға дейін төмендегенін (әрине, бұл мүмкін емес, себебі онда теріс контексттік ауысу жылдамдығы болар еді) 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 үшін бірнеше қауіпсіздік мәселелерін шешті. Next Generation Security Software Ltd компаниясының Дэвид Личфилд MDAC-те дерек көздеріне қосылу үшін қолданылатын ODBC функцияларының бірінде тексерілмеген буфер болғандықтан туындаған қауіпсіздік осалдығын хабарлады. Тағы бір түзетілген осалдық – шабуылшы клиенттер тарапынан таратылатын SQL Server ашу хабарламасына арнайы жасалған пакетпен жауап беріп, буфердің толуына себеп бола алатын жағдай. Тағы бір кемшілік табылды, ол шабуылшы арнайы жасалған пакетпен жауап бергенде кодты қашықтан орындауға мүмкіндік беретін жағдай.
MDAC 2, 8
MDAC 2.8 2003 жылдың тамызында жарық көрді және Microsoft Windows Server 2003 жүйесімен бірге, сондай-ақ Microsoft-тың Data Access Technologies веб-сайтында таралды. Ол өнімге жаңа мүмкіндіктер қоспады, бірақ бірқатар қателер мен қауіпсіздік мәселелерін жойды. Серверді «қауіпсіз» режимде іске қосуға мүмкіндік беретін reg файлы (реестрге өзгерістерді автоматты түрде енгізеді) алынып тасталды, осылайша RDS-ті жүйеге рұқсатсыз кіру үшін пайдалану мүмкіндігі болды, сонымен қатар Shape сұраныс жолының ұзындығына жаңа шектеу қойылды. Сонымен қатар, ODBC әкімшісінде бірнеше өзгерістер жасалды. 2005 жылдың 23 мамырында Брэд Родс (Microsoft Data Access Technologies бас бағдарлама менеджері) MDAC 2.8 SP1 Microsoft-тың MDAC-тің соңғы жеке таратылатын нұсқасы екенін хабарлады. MDAC енді Microsoft операциялық жүйесінің ресми құрамына кіреді, бірақ олар бұрын шығарылған веб-тарату нұсқаларына қатысты тұрақты түрде қателерді жою және қауіпсіздік түзетулерін ұсына береді. Дегенмен, Microsoft SQL Native Client (SQLNCLI) деп аталатын жаңа құрамдас бөлікті жасады, ол OLE DB және ODBC кітапханаларын бір DLL-ге біріктіретін дербес деректерге қолжетімділік API-сі болып табылады. Ол MDAC-тен тәуелсіз болу үшін жасалды, ол енді операциялық жүйенің күйіне байланысты. Енді әзірлеуші осы кітапханаға сілтеме жасайды және операциялық жүйенің MDAC-ті жаңартуы MDAC-тің басқа нұсқасына сүйенген бағдарламаларды бұзуы мүмкін жағдайлардан сақталады. Windows 7 SP1 MDAC 2.8-дің алға қарай үйлесімділігін бұзды. Windows 7 SP1-де құрастырылған және MDAC ADO-ға сүйенген бағдарламалық жасақтама Windows 7 SP1-ден бұрынғы Windows нұсқаларында (Windows 7 RTM, Vista, XP қоса алғанда) жұмыс істемейді. Microsoft кейбір қолданбалар үшін осы мәселені шешуге көмектесетін шешімдер ұсынды, бірақ VBA қолданбаларына әлі де әсер етеді. Бұл мәселенің шешімі 2012 жылдың ақпан айында жарияланды.
Windows DAC 6.0 жүйесі
Windows Vista енді MDAC қолданбайды, оның орнына ADO, OLE DB және ODBC компоненттерінің жаңартылған нұсқаларынан құралған Windows DAC-ті қолданады. Microsoft мәлімдемесіне сәйкес, "Windows DAC Windows Vista-мен жұмыс істеу үшін бірқатар өзгерістер енгізген, бірақ MDAC 2.8-ге функционалдық тұрғыдан дерлік толыққанды балама".