日期:2014-05-16  浏览次数:20466 次

ODBC、OLEDB、ADO的区别和联系

       ODBC 是一种底层的访问技术,因此,ODBC API可以是客户应用程序能从底层设置和控制数据库,完成一些高级数据库技术无法完成的功能;但不足之处由于ODBC只能用于关系型数据库,使得利用ODBC很难访问对象数据库及其他非关系数据库。
       

        DAO 提供了一种通过程序代码创建和操纵数据库的机制。最大特点是对MICROSOFT JET数据库的操作很方便,而且是操作JET数据库时性能最好的技术接口之一。并且它并不只能用于访问这种数据库,事实上,通过DAO技术可以访问从文本文件到大型后台数据库等多种数据格式。
     

       ADO 是基于OLE DB的访问接口,它是面向对象的OLE DB技术,继承了OLE DB的优点。属于数据库访问的高层接口。
     

       OLEDBODBC都是底层系统,都可直接对数据库进行访问,区别在于OLEDB既可以访问关系型数据库,也可访问非关系型数据库,而ODBC只能访问关系型数据库。虽然对不同数据库的操作方法不一样,但统一了通向不同的数据源的底层应用程序接口。

 

       ADOOLEDB之间的关系为:
       OLEDB是一种底层数据访问界面接口。是用于第三方驱动程序商家开发输出数据源到ADO-技术的应用程序或用于C++的开发者开发定制的数据库组件。
        ADO 是基于OLE DB的访问接口,它是面向对象的OLE DB技术,继承了OLE DB的优点。属于数据库访问的高层接口。
        OLE DB 是用于访问数据的重要的系统级编程接口,它是 ADO 的基础技术,同时还是 ADO.NET 的数据源。
        可以这么说,ADOOLEDB提供高层应用API函数。

下面是几种性能的对比: 

注释:

       ODBCOpen DataBase Connectivity)开放数据库互联。是由微软主导的数据库链接标准。

       DAOData Access Object)数据访问对象。不提供远程访问功能。
       ADOActiveX Data ObjectActiveX数据对象。基于OLE-DB建立连接的局部和远程数据库访问技术。同OLE-DB一样要年轻些。使用中,我们一般用OLE-DBADO替代DAORDO

    OLE-DBObject Linking and Embedding DataBase)对象链接和嵌入数据库。它依赖于COM和提供OLE DB提供者的厂商而