详细解释ODBC或BDE,ADO和OLEDB

发表于:2007-05-25来源:作者:点击数: 标签:BDEOLEDBODBC详细ado
ODBC 或 BDE:是如何与多种 数据库 连接的,连接的结构(struct)包括那些,在与数据库交互的过程中,关系型数据库的客户端作为什么角色? ODBC 的标准是什么? ADO:是基于什么封装的,连接时用到哪些.dll?需要哪些组件才能连接? OLE DB:是如何与多种数据库

  ODBC 或 BDE:是如何与多种数据库连接的,连接的结构(struct)包括那些,在与数据库交互的过程中,关系型数据库的客户端作为什么角色?
  ODBC 的标准是什么?
  
  ADO:是基于什么封装的,连接时用到哪些.dll?需要哪些组件才能连接?
  
  OLE DB:是如何与多种数据库连接的,需要哪些组件才能连接?与ODBC的关系?
  
  ADO与它们有什关系,只是一个对象。
  
  OLE DB,ODBC都是提供连接数据库动态连接库。直接与数据库打交道,详细可以参考ado与ado.net一书
  
  ADO即 ActiveX Data Objects ,是微软提供的使ASP具有访问数据库的Components。 ADO与RDO( Remote Data Objects)有某种类似的地方。但据说ADO的访问的速度更快,内存需要更小。
  
  ODBC 的标准是什么?
  
  MS 公司自家和数据库公司定的~
  
  ADO:是基于什么封装的,连接时用到哪些.dll?需要哪些组件才能连接?
  
  中间件,可以VC/VB/DELPHI...被引用(是对象概念)
  
  BDE: 跟ADO的概念差不多,是中间件的一种。(不过,是Borland公司自己用)
  
  我也来复习一下:
  
  ODBC: 开放数据库连接标准。提供独立于DBMS的处理关系数据库中的数据的办法。(是一种编程接口,能使应用程序以sql访问DBMS)
  
  OLE DB: 一个封装了数据库服务器功能的面向对象的接口,为多种数据库类型服务。
  是Microsoft OLD对象标准的一个实现。OLE DB对象本身是COM对象,并支持这种对象的所有必需的借口。
  
  ADO(Active Data Object):动态数据对象。这是使用OLE DB的一组对象。
  一种简单的对象模型,可以被数据消费者用来处理任何OLE DB数据。
  
  《数据库处理:原理,方法,实现》---好像是这个名字,原来南京新华书店有的,好像还是英文的,应该也有中文的。是本数据库方面的经典教材。
  
  ODBC体系结构:
  
  WEB服务器
  |--- |-------- |--------------- |
  |应  |  驱动    |DBMS驱动程序1   |------dbms1-----db
  |用  | 程序     |DBMS驱动程序2   |------dbms2-----db
  |    |管理程序  |DBMS驱动程序3   |------dbms3-----db
  |    |         |DBMS驱动程序4    |------dbms4-----db
  |--- |-------- |--------------- |
  
  画得不好,见谅!
  
  舞里看花
  我总认为odbc就像java一样是种解释性的通用数据库连接平台
  而oledb就像是c语言一样比较接近底层,dbo就当是c++吧
  然后呢dbms就像是汇编语言,db就算是机器代码了
  是不是有较大的偏差?
  至于他的详细机制就不怎么清楚了
  反正写程序的时候连接总是从别处拷过来的
  :)
  
  OLE DB,ODBC都是提供连接数据库动态连接库
  ADO(ActiveX Data Objects ),RDO( Remote Data Objects)是访问数据库的一个对象(可以使用某些函数方法,操作其结果集对数据库进行操作)
  
  OLE DB技术提供了一组较低级的数据库操作函数如连接等(一般以动态连接库形式发布)
  MS为了使人们更易于使用这种技术进行操作,于是提出了一种新的也就是ADO数据库访问技术。主要是对OLE DB的一些函数进行封装,使之更容易使用
  
  如果想知道它们的关系,你可以参考一下李维的Delphi5高效数据库编程那本书,前几章印象之中就是介绍这些个东西的
  
  BDE:在发展初期,主要用于封装对dbf、paradox等文件数据库的访问接口,后来提供了对ODBC访问的接口,并逐渐封装了对大多数主流DBMS访问的接口。BDE最大好处,一方面是支持非常多的文件型数据格式,另一方面就是提供良好的数据缓存技术,支持双向游标,但同时牺牲了性能,从这点,我认为BDE不能算是一个最优的数据访问引擎。目前,Borland公司已经停止了BDE的发展,将以DBExpress技术取而带之。

原文转自:http://www.ltesting.net