ADO、OLEDB、ODBC之间的关系图

ADO、OLEDB、ODBC之间的关系图

以下所记录的连接数据库的方式都是微软提出的,都是微软的东西,window下可以,至于linux就不知道了

下面是微软提出的所有连接方式:
ODBC(Open DataBase Connectivity)开放数据库互联。是由微软主导的数据库链接标准,只支持关系型数据库。
DAO(Data Access Object)数据访问对象。不提供远程访问功能。
RDO(Remote Data Object)远程数据对象。速度快,支持SQL Server存储过程。
OLEDB(Object Linking and Embedding DataBase)对象链接和嵌入数据库。

ADO(ActiveX Data Object)ActiveX数据对象。


使用中,我们一般用OLE-DB和ADO替代DAO和RDO,DAO和RDO我也没用过,所以下面主要记录下ADO、OLEDB、ODBC之间的关系。

ADO、OLEDB、ODBC之间的关系图_第1张图片

ODBC(Open Database Connectivity,开放数据库互连)
1992 年,微软公司开放服务结构中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程
接口)。这些API利用 SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。这个标准相对来说
是偏底层的,而且只支持关系型数据库


OLE DB(Object Linking and Embedding, Database,对象连接嵌入数据库)
1997 年, Microsoft 的一个战略性系统级编程接口(COM 接口,对各种数据库管理系统服务进行封装),是微软的战略性的通向不同的数据
源的低级应用程序接口,用于管理整个组织内的数据。OLE DB不仅包括微软资助的标准数据接口开放数据库连通性(ODBC)的结构化问题语
言(SQL)能力,还具有面向其他非SQL数据类型的通路。作为微软的组件对象模型(COM)的一种设计,OLE DB是一组读写数据的方法。OLE
DB 可用于访问关系型和非关系型信息源,例如主机 ISAM/VSAM 和层次数据库,电子邮件和文件系统存储,文本、图形和地理数据以及自义业务对象。

ADO(ActiveX Data Object,活动数据对象)
1996 年,ADO是DAO/RDO的后继产物,是一个用于存取数据源的COM组件,是Microsoft提出的高层应用程序接口(API)用以实现访问关系或非
关系数据库中的数据。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。ADO涉及的数据存储
有DSN(数据源名称)、ODBC(开放式数据连接)以及OLE DB三种方式。。odbc,oledb这些系统级的编程接口是底层的,操作起来相对困难,
我理解为ADO是对ODBC和OLEDB的封装吧,这样方便开发人员使用。


ODBC与OLEDB:
ODBC和OLE DB都是应用程序接口,都是为了应用程序访问数据库定制的一组标准,而ODBC是曾经的数据库通信标准,而OLE DB是在一切对象
化的趋势下,微软打算用它取代ODBC。由上图可知OLEDB分两种:直接操作数据库的OLEDB和面向ODBC来操作数据库的OLEDB,后者架构在ODBC上
,这样没 有自己的OLEDB提供者的数据库也可以使用OLEDB的特点了。这样看来OLEDB总体上支持的数据库要比ODBC多,至于效率问题,我认
为OLEDB在操作数据库时效率是ODBC快,而通过ODBC这层转换后效率就比ODBC低了。



你可能感兴趣的:(数据库)