欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-09-04 07:58:35
一 odbc(open database connectivity,开放数据库互连)是微软公司开放服务结构(wosa,windows open services archi...
一 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三种方式