Microsoft的ODBC 开放式数据库连接(ODBC)与ADO对比

来源:互联网 发布:unity3d itween path 编辑:程序博客网 时间:2024/05/22 05:22
一种数据访问应用程序接口 (API),支持对可使用 ODBC 驱动程序的任何数据源的访问。
开放式数据库连接 (ODBC) 是 Microsoft 战略接口,用于访问关系非关系数据库管理系统的异构环境中的数据。根据 SQL 访问组的调用级接口规范,ODBC 提供了用于访问各种专有的个人计算机、 小型计算机,以及主机数据库中存储的数据的开放的、 非特定于供应商的方法。
ODBC 缓解了独立软件供应商和企业开发人员了解多个应用程序编程接口的需要。ODBC 现在提供了一个通用的数据访问接口。应用程序开发人员可以使用 ODBC,允许应用程序从多个不同的数据库同时访问、 查看和修改数据。
ODBC 是Microsoft Windows 开放式服务体系结构的核心组件。苹果公司已宣布将来在 System 7 中提供支持,从而认可 ODBC 作为一项关键支持技术。不断增长的行业支持使 ODBC 快速成为 Windows 和 Mac应用程序的数据访问的一个重要的行业标准。
 

ODBC 如此重要的原因是什么?

第一个,应用程序开发人员不需要修改他们的应用程序,以允许其访问来自多个后端数据。只要有一个ODBC 驱动程序的一个特定后端,一个启用ODBC 的前端就可以访问它;

第二个,用于特定 DBMS 的一个ODBC 驱动程序允许任何已启用 ODBC 的应用程序是一个ODBC 客户端。

                           ======================================================================================================

微软公司的ADO (ActiveX Data Objects) 是一个用于存取数据源的COM组件。它提供了编程语言和统一数据访问方式OLE DB的一个中间层。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。访问数据库的时候,关于SQL的知识不是必要的,但是特定数据库支持的SQL命令仍可以通过ADO中的命令对象来执行。

ADO被设计来继承微软早期的数据访问对象层,包括RDO (Remote Data Objects) 和DAO(Data Access Objects)。ADO在1996年冬被发布。ADO是对当前微软所支持的数据库进行操作的最有效和最简单直接的方法,它是一种功能强大的数据访问编程模式,从而使得大部分数据源可编程的属性得以直接扩展到你的Active Server 页面上。可以使用ADO 去编写紧凑简明的脚本以便连接到 Open Database Connectivity (ODBC) 兼容的数据库和 OLE DB 兼容的数据源,这样 ASP 程序员就可以访问任何与 ODBC 兼容的数据库,包括 MS SQL SERVER、Access、 Oracle 等等。

  比如,如果网站开发人员需要让用户通过访问网页来获得存在于IBM DB2或者Oracle数据库中的数据,那么就可以在ASP页面中包含ADO程序,用来连接数据库。于是,当用户在网站上浏览网页时,返回的网页将会包含从数据库中获取的数据。而这些数据都是由ADO代码做到的。

  ADO是一种面向对象的编程接口,微软介绍说,与其同IBM和Oracle提倡的那样,创建一个统一数据库,不如提供一个能够访问不同数据库的统一接口,这样会更加实用一些。为实现这一目标,微软在数据库和微软的OLE DB中提供了一种“桥”程序,这种程序能够提供对数据库的连接。开发人员在使用ADO时,其实就是在使用OLE DB,不过OLE DB更加接近底层。

ADO的一项属性 远程数据服务,支持“数据仓库”ActiveX 组件以及高效的客户端缓存。作为ActiveX的一部分,ADO也是COM组件的一部分。ADO是由早期的微软数据接口的远程数据对象RDO演化而来的。RDO同微软的ODBC一同连接关系数据库,不过不能连接非关系数据库。

 

总结:

       ODBC的访问效率上慢,而ADO较快;

      ADO只是依赖于Microsof的OS,而在其他的平台上ODBC 就派上用场了。