ADO,OLEDB,ODBC,DAO,RDO的区别说明

 更新时间:2012年09月16日 00:23:42   作者:  
ADO,OLEDB,ODBC,DAO,RDO的区别说明,因为我们用程序开发的时候经常会用到OLEDB,ODBC链接数据库等
一 ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。

二 DAO:数据访问对象是用来显露了Microsoft Jet数据库引擎(最早是给MicrosoftAccess 所使用,现在已经支持其它数据库),并允许开发者通过ODBC直接连接到其他数据库一样,直接连接到 Access 表。DAO 最适用于单系统应用程序或在小范围本地分布使用。其内部已经对Jet数据库的访问进行了加速优化,而且其使用起来也是很方便的。所以如果数据库是Access数据库且是本地使用的话,建议使用这种访问方式。

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

四 OLE DB 是 Microsoft 的一个战略性系统级编程接口,用于管理整个组织内的数据。OLE DB 是建立在 ODBC 功能之上的一个开放规范。ODBC 是为访问关系型数据库而专门开发的,OLE DB 则用于访问关系型和非关系型信息源,例如主机 ISAM/VSAM 和层次数据库,电子邮件和文件系统存储,文本、图形和地理数据以及自定义业务对象。OLE DB 定义了一组 COM 接口,对各种数据库管理系统服务进行封装,并允许创建软件组件,实现这些服务。OLE DB 组件包括数据提供程序(包含和表现数据)、数据使用者(使用数据)和服务组件(处理和传送数据,例如,查询处理器和游标引擎)。OLE DB 接口有助于平滑地集成组件,这样,OLE DB 组件厂商就可以快速地向市场提供高质量 OLE DB 组件。此外,OLE DB 包含了一个连接 ODBC 的“桥梁”,对现用的各种 ODBC 关系型数据库驱动程序提供一贯的支持。

五 ADO(ActiveXData Object)是DAO/RDO的后继产物。ADO2.0在功能上与RDO更相似,而且一般来说,在这两种模型之间有一种相似的映射关系。ADO"扩展"了DAO和RDO 所使用的对象模型,这意味着它包含较少的对象、更多的属性、方法(和参数),以及事件。 作为最新的数据库访问模式,ADO的使用也是简单易用,所以微软已经明确表示今后把重点放在ADO上,对DAO/RDO不再作升级,所以ADO已经成为了当前数据库开发的主流。ADO涉及的数据存储有DSN(数据源名称)、ODBC(开放式数据连接)以及OLEDB三种方式

相关文章

  • 分布式和集群的概述讲解

    分布式和集群的概述讲解

    今天小编就为大家分享一篇关于分布式和集群的概述讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 什么是数据库索引 有哪些类型和特点

    什么是数据库索引 有哪些类型和特点

    这篇文章主要介绍了网站数据库的优化最为基础的优化措施就是建立数据库索引了,这里就介绍一下,什么是数据库索引?有哪些类型和特点
    2015-10-10
  • Navicat Premium 15 工具自动被杀毒防护软件删除的两种解决方法

    Navicat Premium 15 工具自动被杀毒防护软件删除的两种解决方法

    这篇文章主要介绍了Navicat Premium 15 工具自动被杀毒防护软件删除的两种解决方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-02-02
  • clickhouse数据库删除数据的五种方式

    clickhouse数据库删除数据的五种方式

    clickhouse数据库清理数据的方式很多,每种方式都各有自己的优缺点,请根据实际需要采用适合自己的方式,本文将逐一给大家介绍,并通过代码示例讲解的非常详细,需要的朋友可以参考下
    2024-03-03
  • update 子查询使用介绍

    update 子查询使用介绍

    这篇文章主要介绍了update 子查询使用介绍,需要的朋友可以参考下
    2014-08-08
  • SQL中IS NOT NULL与!=NULL的区别

    SQL中IS NOT NULL与!=NULL的区别

    这篇文章主要介绍了SQL中IS NOT NULL与!=NULL的区别,本文详细诉说了它们的区别,以及推荐使用方法,需要的朋友可以参考下
    2015-06-06
  • 国产开源数据库openGauss容器部署过程详解

    国产开源数据库openGauss容器部署过程详解

    openGauss是一款开源的关系型数据库管理系统,它具有多核高性能、全链路安全性、智能运维等企业级特性,这篇文章主要介绍了国产开源数据库openGauss容器部署,需要的朋友可以参考下
    2022-08-08
  • SunlightDB 2017新型区块链数据库

    SunlightDB 2017新型区块链数据库

    这篇文章主要为大家详细介绍了SunlightDB 2017新型区块链数据库的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • sqlsever2019文件创建与变量示例

    sqlsever2019文件创建与变量示例

    大家好,本篇文章主要讲的是sqlsever2019文件创建与变量示例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • neo4j创建数据库以及导入csv文件内容图文详解

    neo4j创建数据库以及导入csv文件内容图文详解

    这篇文章主要给大家介绍了关于neo4j创建数据库以及导入csv文件内容的相关资料,Neo4j是一个基于图形结构的NoSQL数据库,它提供了一种高效的方式来管理和查询大型复杂数据,需要的朋友可以参考下
    2023-11-11

最新评论