OleDb、ODBC、ADO、ADO.net等

转载 2008年05月02日 11:07:00

以前就接触这些概念,但一直都不清楚它们的内涵以及它们之间的联系和区别,刚刚在网上找了些资料,还是没搞明白。下面简单记录一些资料,供以后学习...

OLEDB(http://www.itisedu.com/phrase/200604241353565.html)

OLE DB(OLEDB)是微软的战略性的通向不同的数据源的低级应用程序接口。OLE DB不仅包括微软资助的标准数据接口开放数据库连通性(ODBC)的结构化问题语言(SQL)能力,还具有面向其他非SQL数据类型的通路。  作为微软的组件对象模型(COM)的一种设计,OLE DB是一组读写数据的方法(在过去可能被称为渠道)。

OLE DB标准中定义的新概念----OLE DB将传统的数据库系统划分为多个逻辑组件,这些组件之间相对独立又相互通信。这种组件模型中的各个部分被冠以不同的名称:数据提供者(Data Provider)。 提供数据存储的软件组件,小到普通的文本文件、大到主机上的复杂数据库,或者电子邮件存储,都是数据提供者的例子。有的文档把这些软件组件的开发商也称为数据提供者。

我们要开启如Access 数据库中的数据,必须用ADO.NET 透过OLE DB 来开启。ADO.NET 利用OLE DB 来取得数据,这是因为OLE DB 了解如何和许多种数据源作沟通,所以对OLE DB有相当程度的了解是很重要的。OLE DB 为一种开放式的标准,并且设计成COM(Component
Object Model,一种对象的格式。凡是依照COM 的规格所制作出来的组件,皆可以提供功能让其它程序或组件所使用。)组件。OLE DB 最主要是由三个部分组合而成:

Data Providers 数据提供者

      凡是透过OLE DB 将数据提供出来的,就是数据提供者。例如SQL Server 数据库中的数据表,或是附文件名为mdb 的Access 数据库档案等,都是Data Provider。

Data Consumers 数据使用者

      凡是使用OLE DB 提供数据的程序或组件,都是OLE DB 的数据使用者。换句话说,凡是使用ADO 的应用程序或网页都是OLE DB 的数据使用者。

Service Components 服务组件

      数据服务组件可以执行数据提供者以及数据使用者之间数据传递的工作,数据使用者要向数据提供者要求数据时,是透过OLE DB 服务组件的查询处理器执行查询的工作,而查询到的结果则由指针引擎来管理。

OLE DB

ODBC(http://www.itisedu.com/phrase/200604151956245.html)

ODBC(OpenDatabaseConnectivity,开放数据库互连)是微软公司开放服务结构(WOSA,WindowsOpenServicesArchitecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。

ODBC现在看来是一个比较古老的东西,在1996年左右就比较定型了,其最新的版本是3.52,MICROSOFT也不打算对它做什么大的更新,更多的目光应该被放到OLEDB、.NET DATA PROVIDER身上了。然而,正因为它是一个比较成熟和古老的规范,ODBC在大多数DBMS上都做可以使用,可以说一个像样的DBMS都应该支持ODBC 3.0或以上的版本。

一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access还是Oracle数据库,均可用ODBCAPI进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。

开放数据库互连(ODBC)是Microsoft引进的一种早期数据库接口技术。它实际上是我们要在本章后面加以讨论的ADO的前身。Microsoft引进这种技术的一个主要原因是,以非语言专用的方式,提供给程序员一种访问数据库内容的简单方法。换句话说,访问DBF文件或Access Basic以得到MDB文件中的数据时,无需懂得Xbase程序设计语言。事实上,Visual C++就是这样一个程序设计平台,即Microsoft最初是以ODBC为目标的。

ADO(http://www.itisedu.com/phrase/200604152347055.html)

ADO (ActiveX Data Objects,ActiveX数据对象)是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据。例如,如果您希望编写应用程序从DB2或Oracle数据库中向网页提供数据,可以将ADO程序包括在作为活动服务器页(ASP)的HTML文件中。当用户从网站请求网页时,返回的网页也包括了数据中的相应数据,这些是由于使用了ADO代码的结果。

ADO是一种面向对象的编程接口,微软介绍说,与其同IBM和Oracle提倡的那样,创建一个统一数据库,不如提供一个能够访问不同数据库的统一接口,这样会更加实用一些。为实现这一目标,微软在数据库和微软的OLE DB中提供了一种“桥”程序,这种程序能够提供对数据库的连接。  开发人员在使用ADO时,其实就是在使用OLE DB,不过OLE DB更加接近底层。ADO的一项属性 远程数据服务,支持“数据仓库”ActiveX 组件以及高效的客户端缓存。作为ActiveX的一部分,ADO也是COM组件的一部分。ADO是由早期的微软数据接口 远程数据对象RDO演化而来的。RDO同微软的ODBC一同连接关系数据库,不过不能连接非关系数据库。

ADOQuery 开启本地缓存。。。

在开发 C/S 应该程序的时候,有时为了程序的运行提高效率。 需要使用 缓存功能; //ADO组件需要把         ADOQuery1.LockType:=ltBatchOptimisti...
  • aroc_lo
  • aroc_lo
  • 2009-10-25 00:18:00
  • 855

ADO Connection Open

Open 方法 (ADO Connection) 打开到数据源的连接。 语法 connection.Open ConnectionString,UserID, Password, Option...
  • liuhongwei_study
  • liuhongwei_study
  • 2012-09-29 10:24:57
  • 585

数据库访问方式(ODBC OLEDB ADO ADO.NET)

ODBC(Open Database Connectivity,开放数据库互连) 1992年,微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有...
  • lxd8731247769
  • lxd8731247769
  • 2016-01-02 09:36:54
  • 2069

【数据库】——对于ODBC,OLEDB和ADO目前理解

在我想要了解以下ADO的七个对象的时候,感觉对于ADO很不了解,就搜索了一下。发现了它和ODBC和OLEDB的关系。ADO和ODBC是我们现在涉及到的,其中还有一些不了解,现在把我的部分理解分享到这,...
  • z15732621736
  • z15732621736
  • 2015-07-29 17:02:46
  • 1571

ADO数据库的操作

导入动态链接库 在使用ADO技术时,需要导入一个ADO动态链接库msado15.dll,该动态链接库位于系统盘的 “Program Files\Common Files\System\ado\”目...
  • yhrun
  • yhrun
  • 2012-03-10 11:42:53
  • 2099

C# 开发人员指南——ASP.NET、XML、web<em>服务</em>与 <em>ADO</em>.NET

用<em>ado</em>.net和xml web<em>服务</em>构建web应用程序 立即下载 上传者: 想飞的水 时间: 2009-11-25 综合评分: 0 积分/C币:3 C#与<em>ADO</em>.net,XML和ASP.net 立即下载 ...
  • 2018年04月11日 00:00

ADO、OLEDB、ODBC之间的关系图

ADO、OLEDB、ODBC之间的关系图 以下所记录的连接数据库的方式都是微软提出的,都是微软的东西,window下可以,至于linux就不知道了 下面是微软提出的所有连接方式: ODBC(...
  • wanglx2012
  • wanglx2012
  • 2014-02-25 14:32:35
  • 1155

ODBC、OLEDB和ADO之间的关系

学习了.net视频之后,对里面涉及到的数据库连接部分中的一些概念
  • wangyy130
  • wangyy130
  • 2014-05-26 19:45:21
  • 2182

ADO类

为了方便的操作ADO,这里提供4个类:CADODatabase,CADORecordset,CADOParameter,CADOCommand ,下面对类的成员作一介绍。 B.1 CADODataba...
  • Sayesan
  • Sayesan
  • 2015-02-07 20:04:45
  • 969

ADO.Net

1.添加对System.Data.SqlClient的引用     后台代码中需要对命名空间System.Data.SqlClient进行引用,代码如下所示。   using System.Dat...
  • a6225301
  • a6225301
  • 2013-04-25 11:03:46
  • 455
收藏助手
不良信息举报
您举报文章:OleDb、ODBC、ADO、ADO.net等
举报原因:
原因补充:

(最多只允许输入30个字)