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技术取而带之。