ADO、DAO、ODBC、RAO和OLE DB等概念及异同

本文详细介绍了数据库访问技术中的ADO、DAO、ODBC、RDO和OLE DB的概念。ADO作为DAO和RDO的后继者,提供了一种统一的数据访问接口,兼容多种数据源。DAO主要用于Access数据库,通过Jet引擎直接访问,而RDO适合大型关系数据库如SQL Server。ODBC是通用的数据库连接技术,适用于关系数据库。OLE DB则是一个更全面的数据访问标准,支持多种数据类型。文章还探讨了这些技术之间的异同以及它们的发展历程和适用场景。
摘要由CSDN通过智能技术生成

一:概念介绍

1、ADO

 

       ADO 并不是自动和您现存的数据访问应用程序代码兼容的。当 ADO 封装 DAO 和 RDO 的功能性的时候,您必须将许多语言要素转换为 ADO 语法。在某些情况下,这将意味着您现存代码的某些功能的一个简单转换。在其他情况下,最佳的做法可能是用 ADO 的新功能重写该应用程序。

 

2. DAO

 

       DAO (Data Access Objects) 数据访问对象是第一个面向对象的接口,它显露了 Microsoft Jet 数据库引擎(由 Microsoft Access 所使用),并允许 Visual Basic 开发者通过 ODBC 象直接连接到其他数据库一样,直接连接到 Access 表。DAO 最适用于单系统应用程序或小范围本地分布使用。 

     与ODBC一样,DAO提供了一组API供编程使用。MFC也提供了一组DAO类,封装了底层的API,从而大大简化了程序的开发。利用MFC的DAO类,用户可以编写独立于DBMS的应用程序。 DAO是从Visual C++4.0版开始引入的。一般地讲,DAO类提供了比ODBC类更广泛的支持。一方面,只要有ODBC驱动程序,使用Microsoft Jet的DAO就可以访问ODBC数据源。另一方面,由于DAO是基于Microsoft Jet引擎的,因而在访问Access数据库(即*.MDB文件)时具有很好的性能。

    DAO的特色:DAO可以通过ODBC驱动程序访问ODBC数据源。但DAO是基于Microsoft Jet引擎的,通过该引擎,DAO可以直接访问Access、FoxPro、dBASE、Paradox、Excel和Lotus WK等数据库。CDaoDatabase类可以直接与这些数据库进行连接,而不必在ODBC管理器中注册DSN。例如,下面的代码用来打开一个FoxPro数据库:

CDaoDatabase daoDb;

daoDb.Open( “”,FALSE,FALSE,"FoxPro 2.5;DATABASE=c://zyf");

CDaoDatabase::Open函数用来连接某个数据库,该函数的声明为:

virtual void Open( LPCTSTR lpszName, BOOL bExclusive = FALSE, BOOL bReadOnly = FALSE, LPCTSTR lpszConnect = _T("") );
throw( CDaoException, CMemoryException );

 

       DAO是Microsoft一种用来访问Jet引擎的方法,主要用来访问Access数据库,使用起来比较简单。  
  如果你想看这几种方法的详细说明与区别,可以参考开发文档中的几篇数据库访问的文章。

3. RDO

 

      RDO (Remote Data Objects) 远程数据对象是一个到 ODBC 的、面向对象的数据访问接口,它同易于使用的 DAO style组合在一起,提供了一个接口,形式上展示出所有 ODBC 的底层功能和灵活性。尽管 RDO 在很好地访问 Jet 或 ISAM 数据库方面受到限制,而且它只能通过现存的 ODBC 驱动程序来访问关系数据库。但是,RDO 已被证明是许多 SQL Server、Oracle 以及其他大型关系数据库开发者经常选用的最佳接口。RDO 提供了用来访问存储过程和复杂结果集的更多和更复杂的对象、属性,以及方法。<

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值