Microsoft Data Access Components(MDAC)是微软专门为数据访问功能而发展的应用程序开发接口,做为微软的统一化数据访问(Universal Data Access; UDA)解决方案的核心组成,最初的版本在1996年8月发表。目前其组成组件有ODBC,OLE DB以及ADO,其中ADO是在Visual Basic上唯一的数据访问管道,而OLE DB则是基于COM之上,供C/C++访问与提供数据的接口,ODBC则是统一化的数据访问API。
MDAC体系架构可视作三层:
开发者还能直接写程序访问OLE DB或ODBC。
MDAC中包含了下列的组件:
SQL Server Network Client Library(在SQL Server 2005时由SQL Native Client取代)是要连接SQL Server所必要的客户端库,提供必要的数据流转译的支持,并作为OLE DB Provider for SQL Server, ODBC SQL Server Driver, SQL Server .NET Provider等数据提供者的底层通信库。
为以COM为基础所开发的数据访问组件,供高级编程语言使用,像是脚本语言(Scripting Language)或是Visual Basic,目前已被Microsoft Windows平台上的开发人员广为采用,它向上提供数个对象类别供应用程序调用,向下则是调用OLE DB所提供的接口,因此数据库必须要有OLE DB Provider,才可以由ADO调用,这个机制在.NET Framework中的ADO.NET中也持续采用。
OLE DB是作为由数据源中捞取数据并接受来自ADO的指令来提供数据的接口,此接口是由COM规格所开发,同时也可以直接由C/C++来访问。
ODBC(Open Database Connectivity)是由SQL Access Group,X/Open(目前为The Open Group的一部分)以及ISO/EIC所提出的Call Level Interface(CLI,调用层次接口)接口规格,由微软开发出第一份ODBC的实现,每一个数据库都可以实现出链接自家数据源的ODBC驱动程序(Driver),而应用程序开发人员能够利用ODBC所开放的API调用,经由ODBC Driver来进入数据库进行访问以及处理工作。
微软特别为Microsoft Jet的数据库提供了两个重要的组件:
微软提供了两个方法来检查电脑中所安装的MDAC版本为何,其中一个方法是使用ADO.NET Component Checker程序,它可以检查每个MDAC所安装的DLL版本;另一个方法是检查登录数据库机码:HKEY_LOCAL_MACHINE\Software\Microsoft\DataAccess\FullInstallVer