Microsoft Data Access Components

Microsoft Data Access ComponentsMDAC)是微软专门为资料存取功能而发展的应用程式开发介面,做为微软的统一化资料存取(Universal Data Access; UDA)解决方案的核心组成,最初的版本在1996年8月发表。目前其组成元件有ODBCOLE DB以及ADO,其中ADO是在Visual Basic上唯一的资料存取管道,而OLE DB则是基于COM之上,供C/C++存取与提供资料的介面,ODBC则是统一化的资料存取API。

MDAC (Microsoft Data Access Components)
MDAC是微软Windows平台的统一资料存取方案
开发者Microsoft
当前版本2.8 SP1(2.81.1117.6)(May 2005)
操作系统Windows 98, Windows Me, Windows NT 4, Windows 2000, Windows XP, Windows Server 2003
类型Database
许可协议Microsoft EULA
网站Microsoft MDAC Center

体系架构

编辑

MDAC体系架构可视作三层:

  1. 编程界面层:包括ADOADO.NET
  2. 数据库访问层,由数据库制造商开发,如:Oracle或Microsoft的OLE DB、.NET managed providers、ODBC drivers
  3. 数据库自身。

开发者还能直接写程序访问OLE DB或ODBC。

组成元件

编辑

MDAC中包含了下列的元件:

SQL Server用户端网路函式库

编辑

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

编辑

OLE DB是作为由资料来源中捞取资料并接受来自ADO的指令来提供资料的介面,此介面是由COM规格所开发,同时也可以直接由C/C++来存取。

ODBC(Open Database Connectivity)是由SQL Access Group,X/Open(目前为The Open Group的一部份)以及ISO/EIC所提出的Call Level Interface(CLI,呼叫层次介面)介面规格[1],由微软开发出第一份ODBC的实作,每一个资料库都可以实作出连结自家资料来源的ODBC驱动程式(Driver),而应用程式开发人员能够利用ODBC所开放的API呼叫,经由ODBC Driver来进入资料库进行存取以及处理工作。

Jet资料库工具

编辑

微软特别为Microsoft Jet的资料库提供了两个重要的元件:

  • ADOX:可由开发人员经由封装在ADOX中的DDL和DCL能力来对Microsoft Access资料库执行资料库物件的修改以及权限上的控制。
  • JRO:可由开发人员经由封装在JRO中的物件,对Microsoft Access资料库执行复制,修补与压缩等工作。

曾内含在MDAC中的元件

编辑
  • Embedded SQL/C(ESQL/C):在C语言中内嵌SQL,送到资料库中执行,ESQL/C在SQL Server 7.0起终止。
  • RDO(Remote Data Object):为提供网路资料存取所开发的元件,当时ADO尚未成熟,目前已由ADO取代。
  • DAO(Data Access Object):为早期Microsoft Access的官方API,但目前已由ADO取代,其DDL功能也由ADOX所取代。
  • DB-Library:为C语言直接存取SQL Server的专属低阶介面,在SQL Server 2005起终止支援。

版本列表

编辑

微软提供了两个方法来检查电脑中所安装的MDAC版本为何,其中一个方法是使用ADO.NET Component Checker程式,它可以检查每个MDAC所安装的DLL版本;另一个方法是检查登录资料库机码:HKEY_LOCAL_MACHINE\Software\Microsoft\DataAccess\FullInstallVer

版本 释出日期 散布方法 功能 安全漏洞
1.0 1996/8
  • ADC – IIS 3.0
  • OLE DB 1.1 SDK(OLE DB 1.1 and ADO 1.0) - Visual Studio
  • 所有的元件都包含在Visual Interdev 1.0与ASP 1.0(released in IIS 3.0)
  • ODBC 3.0
  • OLE DB 1.1
  • ADO 1.0
  • ADC 1.0
  • Access/Jet, SQL Server与Oracle databases的ODBC Driver
1.5 1997/9-1998/3
  • Microsoft Internet Explorer 4.0
  • Internet Client SDK 4.0(from CD issued at Microsoft PDC)
  • ODBC 3.5
  • OLE DB 1.5
  • ADO 1.5
  • RDS 1.5(superseded ADC 1.0)
1.5a 1997/9-1998/3
  • Microsoft网站
服务释出版(Service Release)
1.5b 1997/9-1998/3 服务释出版(Service Release)
1.5c 1997/9-1998/3
  • Microsoft网站
  • 修补ADO使用执行绪与ODBC连线池的问题。
  • 随MDAC/ADO执行期函式库散布。
2.0 1998/7/1
  • Visual Studio 98
  • Data Access 2.0 SDK
  • ODBC 3.5 SDK
  • OLE DB 1.5 SDK
  • OLE DB for OLAP规格
2.0SP1 1998/7/1
  • Windows NT 4.0 SP4
Windows NT 4.0的Y2K修正
2.0SP2 1998/7/1
  • Microsoft网站
所有平台的Y2K修正
2.1 1998/7/11
  • SQL Server 7.0
  • SQL Server 6.5 SP5
  • ADO 2.1
  • RDS 2.1
  • OLE DB 2.1
  • OLE DB Provider for ODBC, SQL Server and Oracle
  • JRO 2.1
  • ODBC driver
  • Jet driver
  • RDO
2.1 SP1 1999/3/15
  • Internet Explorer 5.0
  • Windows 98 Second Edition
2.1 SP1a (GA) 1999/4/1
  • Office 2000
  • BackOffice 4.5
  • Visual Studio 98 SP3
  • Internet Explorer 5.0a(最小安装)
2.1 SP2 1999/7
  • Microsoft网站
2.5 2000/2/17
  • ADO 2.5
  • ADO MD 2.5
  • ADOX 2.5
  • RDS 2.5
  • OLE DB 2.5
  • 下列软体的OLE DB Provider for the ODBC driver:
    • SQL
    • Server
    • Site Server Search
    • Internet Publishing
    • Jet 4.0(Access 2000)
    • Oracle
    • Indexing Services (Index Server)
    • Microsoft Data Shaping Services
    • OLAP Services
    • DTS Packages
    • Microsoft Directory Services
    • Server DTS Flat File
    • OLE DB Simple Provider
  • JRO 2.5
  • ODBC 3.51
  • ODBC驱动程式
    • Microsoft Access
    • SQL Server
    • Microsoft Excel
    • Text
    • Visual FoxPro
    • FoxPro VFP
    • dBase
    • dBase VFP
    • Paradox
    • Oracle
  • Jet驱动程式:
    • Excel
    • Microsoft Exchange
    • Access
    • text files
    • Lotus 1-2-3
    • Paradox
    • xBase
2.5 SP1 2000/7
2.5 SP2 2000/4
2.5 SPS3 2003/12
2.6 2000/9 不包含(手动安装):
  • Microsoft Jet
  • Microsoft Jet OLE DB Provider
  • ODBC Desktop Database Drivers
2.6 SP1 2001/5
2.6 SP2 2002/5
2.7 2001/10|
  • 支援64位元作业系统
  • 移除对Banyan Vines的支援
2.8 2003/8 修补臭虫与安全问题:
2.8 SP1 2005/5
  • SQL Server 2000 SP4
  • Windows XP SP2
  • Microsoft网站
Fixed bugs
2.8 SP2 2005/3
  • Windows Server 2003 SP1
9.0 由此时开始,MDAC随作业系统散布。
  • Visual Studio 2005 Beta 1,但在稍后移除。
  • SQL Server 2005 Beta 1,但在稍后移除。[1]
   
Windows DAC 6.0(与Vista所使用的MDAC版本不同) 2006/11
  • Windows Vista
  • 版本号码与Windows同步,不再提供可转散布套件。
没有新功能,由Windows Vista使用。

参考资料

编辑
  1. ^ Chapter 11 Changes页面存档备份,存于互联网档案馆), supplementary material to "A First Look at SQL Server 2005 for Developers" by Bob Beauchemin, Niels Berglund, and Dan Sullivan.