哪位大虾能详细介绍下ADO、ODBC还有其它的一些数据源的区别阿?

zhutougg 2003-08-18 04:05:12
小弟是刚学数据库,对这些概念都是不懂,哪位大大帮忙详细说下。谢谢
...全文
25 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvltt 2003-12-03
  • 打赏
  • 举报
回复

1:(借助OLE DB Provider)
ADO
|
OLE DB Provider for SQL Server
|
SQL Server Database

2:(借助ODBC Driver)
ADO
|
OLE DB Provider for ODBC
|
OLE DB Provider for SQL Server
|
SQL Server Database

如果你要访问SQL Server数据库,那么使用OLE DB Provider(方法1) 应该是最快的方法。
CrazyFor 2003-12-03
  • 打赏
  • 举报
回复
多看看ADO就可以了,这是最常用的.:)
pengdali 2003-12-03
  • 打赏
  • 举报
回复
ODBC用于数据库连接的编程语言接口

ODBC 总体结构
应用程序
执行处理并调用odbc函数,提交sql语句并检索结果

Driver Manager
管理应用程序和驱动程序之间的通讯,根据应用程序加载并卸载驱动程序,
处理odbc函数调用,获把它们传送到驱动程序

驱动程序
处理odbc函数调用,把sql语句提交到数据源,并返回结果到应用程序,如有必要,
驱动程序修改一个应用程序请求,以使请求与相关的DBMS支持的语法一致

数据源
用户要访问的DBMS,以及相关os



Application
|
|
Driver Manager
| | |
| | |
驱动程序 驱动程序 驱动程序
| | |
数据源 数据源 数据源

结合现实的高层开发工作流程如下:
1.数据应用系统首先获得在ODBC数据源管理器中建立的DSN(存储了与数据提供程序连接的详细信息包含数据库位置、数据库类型及相应的ODBC驱动程序等),然后 Driver Manager依赖一种叫做数据库独立的交流(Database Indepedent Communications Technology)的技术与数据源建立联系(其中涉及客户端和服务器端多种Agent对象的问题,详情不叙,可参见下图).


2.Driver Mangaer调用特定ODBC驱动程序将ODBC标准API转化为适用于具体数据库系统的函数调用(数据库特征不同之处也在这里翻译如SQL语法差异等),然后经由客户端的Request Agent发送到数据源.
3.数据源Database Agent处理操作,将结果返回到客户端的Request Agent,再向上经Driver(这里会有翻译和标准化错误码的行为)、Driver Mangaer返回给Application.

需要说明的是定义和操作光标、维护事务、负责任何与访问数据源的必要软件层进行交互(包括与底层网络或文件系统接口的软件)等行为亦由驱动程序完成.

结合ODBC API调用顺序描叙工作流程:初始化(分配环境--->分配连接句柄--->与服务器连接--->分配语句句柄)-------->SQL处理(语句处理和检索部分)-------->终止(释放语句句柄--->与服务器断开--->释放连接句柄--->释放环境).




ODBC是客户应用程序访问关系数据库时提供的一个统一的接口,对于不同的数据库,ODBC提供了一套统一的API,使应用程序可以应用所提供的API来访问任何提供了ODBC驱动程序的数据库。而且,ODBC已经成为一种标准,所以,目前所有的关系数据库都提供了ODBC驱动程序,这使ODBC的应用非常广泛,基本上可用于所有的关系数据库。
但由于ODBC只能用于关系数据库,使得利用ODBC很难访问对象数据库及其它非关系数据库。
由于ODBC是一种底层的访问技术,因些,ODBC API可以使客户应用程序能够从底层设置和控制数据库,完成一些高层数据库技术无法完成的功能。
由于直接使用ODBC API编写应用程序要编制大量代码,在Visual C++中提供了MFC ODBC类,封装了ODBC API,这使得利用MFC来创建ODBC的应用程序非常简便。

DAO提供了一种通过程序代码创建和操纵数据库的机制。多个DAO构成一个体系结构,在这个结构中,各个DAO对象协同工作。MFC DAO是微软提供的用于访问Microsoft Jet数据库文件(*.mdb)的强有力的数据库开发工具,它通过DAO的封装,向程序员提供了DAO丰富的操作数据库手段。

OLE DB是Visual C++开发数据库应用中提供的新技术,它基于COM接口。因此,OLE DB对所有的文件系统包括关系数据库和非关系数据库都提供了统一的接口。这些特性使得OLE DB技术比传统的数据库访问技术更加优越。
与ODBC技术相似,OLE DB属于数据库访问技术中的底层接口。
直接使用OLE DB来设计数据库应用程序需要大量的代码。在VC中提供了ATL模板,用于设计OLE DB数据应用程序和数据提供程序。

ADO技术是基于OLE DB的访问接口,它继承了OLE DB技术的优点,并且,ADO对OLE DB的接口作了封装,定义了ADO对象,使程序开发得到简化,ADO技术属于数据库访问的高层接口。
axiaowin 2003-12-03
  • 打赏
  • 举报
回复
强烈Up!
请高手们讲解这些基础概念

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧