Microsoft Data Access Components
![本页使用了标题或全文手工转换](http://images.weserv.nl/?url=//upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
此条目需要补充更多来源。 (2020年6月13日) |
![]() MDAC是微软Windows平台的统一资料存取方案 | |
开发者 | Microsoft |
---|---|
操作系统 | Windows 98, Windows Me, Windows NT 4, Windows 2000, Windows XP, Windows Server 2003 |
类型 | Database |
许可协议 | Microsoft EULA |
网站 | Microsoft MDAC Center |
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体系架构可视作三层:
- 编程界面层:包括ADO与ADO.NET
- 数据库访问层,由数据库制造商开发,如:Oracle或Microsoft的OLE DB、.NET managed providers、ODBC drivers
- 数据库自身。
开发者还能直接写程序访问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等资料提供者的底层通信函数库。
ADO
为以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
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 |
|
|
无 |
1.5 | 1997/9-1998/3 |
|
||
1.5a | 1997/9-1998/3 |
|
服务发布版(Service Release) | |
1.5b | 1997/9-1998/3 |
|
服务发布版(Service Release) | |
1.5c | 1997/9-1998/3 |
|
| |
2.0 | 1998/7/1 |
|
||
2.0SP1 | 1998/7/1 |
|
Windows NT 4.0的Y2K修正 | |
2.0SP2 | 1998/7/1 |
|
所有平台的Y2K修正 | |
2.1 | 1998/7/11 |
|
|
|
2.1 SP1 | 1999/3/15 |
| ||
2.1 SP1a (GA) | 1999/4/1 |
| ||
2.1 SP2 | 1999/7 |
| ||
2.5 | 2000/2/17 |
|
|
|
2.5 SP1 | 2000/7 |
| ||
2.5 SP2 | 2000/4 |
| ||
2.5 SPS3 | 2003/12 |
| ||
2.6 | 2000/9 |
|
不包含(手动安装):
|
|
2.6 SP1 | 2001/5 |
| ||
2.6 SP2 | 2002/5 |
| ||
2.7 | 2001/10|
|
|
||
2.8 | 2003/8 |
|
修补臭虫与安全问题: | |
2.8 SP1 | 2005/5 |
|
Fixed bugs | |
2.8 SP2 | 2005/3 |
|
||
9.0 | 由此时开始,MDAC随操作系统散布。 |
|
||
Windows DAC 6.0(与Vista所使用的MDAC版本不同) | 2006/11 |
|
没有新功能,由Windows Vista使用。 |
参考资料
- ^ Chapter 11 Changes (页面存档备份,存于互联网档案馆), supplementary material to "A First Look at SQL Server 2005 for Developers" by Bob Beauchemin, Niels Berglund, and Dan Sullivan.
|