DAO (Data Access Objects) 定义: DAO( 数据访问对象 )是一种 应用程序编程接口 ( API ),存在于 微软 的 Visual Basic 中,它允许程序员请求对 微软 的 Access 数据库 的访问。 DAO 对象封闭了 Access 的 Jet 函数。通过 Jet 函数,它还可以访问其他的
DAO (Data Access Objects)
定义: DAO( 数据访问对象 )是一种 应用程序编程接口 ( API ),存在于 微软 的 Visual Basic 中,它允许程序员请求对 微软 的 Access 数据库 的访问。 DAO 对象封闭了 Access 的 Jet 函数。通过 Jet 函数,它还可以访问其他的 结构化查询语言 ( SQL ) 数据库 。
知识点 :
1 、 DAO 最早是给 Microsoft Access 所使用,现在已经支持其它 数据库 。
2 、 DAO 最适用于单系统应用程序或在小范围本地分布使用。(所以如果 数据库 是 Access 数据库 且是本地使用的话,建议使用这种访问方式 --- 应用的专一性 )
3 、在 VB6.0 以前的版本中,使用 Data 控件创建 DAO 对象访问和操作 数据库
4 、 DAO (Data Access Objects) 数据访问对象 是第一个 面向对象 的接口
5 、 DAO 提供了一种通过程序代码创建和操纵 数据库 的机制。最大特点是对 MICROSOFT JET 数据库 的操作很方便,而且是操作 JET 数据库 时性能最好的技术接口之一。并且它并不只能用于访问
我的理解 :DAO 是接口,连接 数据库 的接口,应用程序通过 Data 控件创建 DAO 对象访问和操作 数据库 。
RDO (Remote Data Objects)
定义 : RDO(远程 数据对象 ) 是 微软 的一个 应用程序接口 (application program interface, API) ,让写 Windows 应用程序的程序师能够进入微软和其他的 数据库 供给者的 数据库 。然后,程序中 RDO 陈述使用 微软 的底层数据存取对象 (DAO) 来实际进入 数据库 。 数据库 供给者写入 DAO 接口。
知识点 :
1、RDO(Remote Data Objects)远程数据对象是一个到ODBC的、面向对象的数据访问接口,它同易于使用的DAO style组合在一起,提供了一个接口,形式上展示出所有ODBC的底层功能和灵活性。尽管RDO在很好地访问Jet或ISAM 数据库 方面受到限制,而且它只能通过现存的ODBC驱动程序来访问关系 数据库 。但是,RDO已被证明是许多SQL Server、Oracle 以及其他大型关系 数据库 开发者经常选用的最佳接口。RDO提供了用来访问存储过程和复杂结果集的更多和更复杂的对象、属性,以及方法。---无疑是在odbc基础上的
2、在VB6.0以前的版本中,使用RemoteData控件创建RDO对象访问和操作远程数据源
我的理解 : RDO 是接口,连接 数据库 的接口,应用程序通过 RemoteData 控件创建 RDO 对象访问和操作远程数据源。
ADO (ActiveX Data Objects)
定义 : 是一个用于访问数据源的 COM 组件。它提供了编程语言和统一数据访问方式 OLE DB 的一个中间层。允许开发人员编写访问数据的代码而不用关心 数据库 是如何实现的,而只用关心到 数据库 的连接。访问 数据库 的时候,关于 SQL 的知识不是必要的,但是特定 数据库 支持的SQL命令仍可以通过ADO中的命令对象来执行。
知识点 :
1 、 ADO 是 DAO/RDO 的后继产物。 ADO 2.0 在功能上与 RDO 更相似,而且一般来说,在这两种模型之间有一种相似的映射关系。 ADO" 扩展 " 了 DAO 和 RDO 所使用的对象模型,这意味着它包含较少的对象、更多的属性、方法(和参数),以及事件。 作为最新的 数据库 访问模式, ADO 的使用也是简单易用,所以微软已经明确表示今后把重点放在 ADO 上,对 DAO/RDO 不再作升级,所以 ADO 已经成为了当前 数据库 开发的主流。
2 、 ADO 涉及的数据存储有 DSN( 数据源名称 ) 、 ODBC (开放式数据连接)以及 OLE DB 三种方式。 --- 可以说是对 odbc , oledb 这些系统级的编程接口的汇接,并对 DAO,RDO 这些应用级的编程接口的升级吧。
3 、 ADO 是一个 数据库 访问组件,可以在 VB 、 VC 、 VC++ 程序中使用。它分为后面两种, ADODC 和 ADODB 。
ADODC 是一个图形化的控件,就是 VB 里部件 -- 控件 --Microsoft
ADO Data Control 6.0 。然后设置 Adodc 的,连接 数据库 。
ADODB 是 ADO 数据对象类别名称,一般在代码中编写,如 Dim con as New ADODB.Connection
ADODC 和 ADODB 可以同时在一个程序中使用,也可以单独使用。
ADODC是封装ADO的VB数据控件,可减少代码编写.
ADODB是数据对象,操作 数据库 需通过编写代码来实现. 。
adodc是控件,目的方便大家。adodb是对象,必须自己建立连接,较麻烦但比较灵活。
4 、 ADO 是基于OLE DB的访问接口, 它是面向对象的OLE DB技术,继承了OLE DB的优点。属于 数据库 访问的高层接口。
我的理解 : ADO 也可以理解为是一个接口,只不过是 数据库 访问的高层接口,需要依赖 OLE DB 的连接 数据库 ,流程是 ado --- oledb --- db ,通过 ADODC 控件和 ADODB 对象来访问和操作 数据库 。
ODBC (Open Database Connectivity)
定义 : 提供了一种标准的 API ( 应用程序编程接口 )方法来访问 数据库 管理系统 ( DBMS )。这些 API 利用 SQL 来完成其大部分任务。 ODBC 本身也提供了对 SQL 语言的支持,用户可以直接将 SQL 语句送给 ODBC 。 ODBC 的设计者们努力使它具有最大的独立性和开放性:与具体的编程语言无关,与具体的 数据库 系统无关,与具体的操作系统无关。
知识点 :
1 、ODBC只能连接关系 数据库 .
2 、ODBC 是一种底层的访问技术,因此,ODBC API 可以是客户应用程序能从底层设置和控制 数据库 ,完成一些高级 数据库 技术无法完成的功能;但不足之处由于ODBC只能用于关系型 数据库 ,使得利用ODBC很难访问对象 数据库 及其他非关系 数据库 。
我的理解 : ODBC 也是接口,通过 ODBC API 来连接和操作 数据库 。
OLE DB (Object Linking and Embedding, Database,对象链接嵌入 数据库 ,有时亦写作OLEDB或OLE-DB)
定义 : 是 微软 为以统一方式访问不同类型的数据存储设计的一种 应用程序接口 ,是一组用 组件对象模型(COM) 实现的接口,而与 对象连接与嵌入(OLE) 无关。它被设计成为 ODBC 的一种高级替代者和继承者,把它的功能扩展到支持更多种类的非关系型 数据库 ,例如可能不支持 SQL 的 对象 数据库 和电子表格(如 Excel )。
知识点 :
1 、 OLE DB 组件包括数据提供程序(包含和表现数据)、数据使用者(使用数据)和服务组件(处理和传送数据,例如,查询处理器和游标引擎)。
2 、 OLE DB 包含了一个连接 ODBC 的“桥梁”,对现用的各种 ODBC 关系型 数据库 驱动程序提供一贯的支持。 --- 号称取代 odbc ,但也兼容 odbc 。这么说吧 , 我们操作 ADO,ADO 则访问 OLEDB( 当然可以访问其他的 , 只要符合 ADO 接口 ),OLEDB 查询 ODBC( 也可以不用找他)得到数据接口操作数据,也就是说 OLEDB 位于 ODBC 层与应用程序之间 . 你的 ADO 调用先被送到 OLEDB, 然后再交由 ODBC 处理 . 你也可以直接连接到 OLEDB 层 .
3 、 OLE DB 是连接各种不同数据(关系 数据库 ,大型 数据库 ,文件系统,Email服务器,文本文件...)的统一界面.
4 、oledb 是对ado的实现,每种数据都要提供oledb才能被ado调用,如下
ado --- oledb --- db
目前主流 数据库 应该都提供了oledb 如 mysql oracle
不过不提供也没关系,可以通过odbc来连接数据,流程如下
ado ---- odbc ---- db
只是性能没有直接用oledb好而已
5 、oledb分两种:直接的oledb和面向odbc的oledb,后者架构在odbc上,这样没有自己的oledb提供者的 数据库 也可以使用oledb的特点了。
6 、odbc 是一种通用数据源,oledb 是专用数据源,先有OLEDB 等专用数据源,然后根据专用数据源开发符合 ODBC 标准得通用数据源
我的理解 : OLE DB 是一种底层接口,如果要和 ODBC 排序的话, OLEDB 位于 ODBC 层与应用程序之间,需要通过 ADO 连接和操作 数据库 。
查看更多关于对ADO,DAO,RDO,OLEDB,ODBC的基本认识的详细内容...