OLEDB是什么?

来源:TechTMT.Com  作者:整理  日期:2022-02-25 13:43:08

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

数据库 Database

定义

OLEDB(Object Linking and Embedding,Database,又称为 OLE DB 或 OLE-DB),一个基于 COM 的数据存储对象,能提供对所有类型的数据的操作,甚至能在离线的情况下存取数据(比方说,你使用的是你的便携机,你可以毫不费力地看到最后一次数据同步时的数据映像).

简介

OLEDB 位于 ODBC 层与应用程序之间. 在你的 ASP 页面里,ADO 是位于 OLEDB 之上的应用程序. 你的 ADO 调用先被送到 OLEDB,然后再交由 ODBC 处理. 你可以直接连接到 OLEDB 层,如果你这么做了,你将看到服务器端游标(recordset 的缺省的游标,也是最常用的游标)性能的提升.

OLEDB(OLEDB)是微软的战略性的通向不同的数据源的低级应用程序接口。OLE DB 不仅包括微软资助的标准数据接口开放数据库连接(ODBC)的结构化查询语言(SQL)能力,还具有面向其他非 SQL 数据类型的通路。作为微软的组件对象模型(COM)的一种设计,OLE DB 是一组读写数据的方法(在过去可能被称为渠道)。OLE DB 中的对象主要包括数据源对象、阶段对象、命令对象和行组对象。使用 OLE DB 的应用程序会用到如下的请求序列:初始化 OLE、连接到数据源、发出命令、处理结果、释放数据源对象并停止初始化 OLE。

组成

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

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

1、Data Providers 数据提供者

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

2、Data Consumers 数据使用者

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

3、Service Components 服务组件

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

功能

使用 OLE DB 的应用程序会用到如下的请求序列: 初始化 OLE 连接到数据源 发出命令 处理结果 释放数据源对象并停止初始化 OLE

OLE DB 是 Microsoft 的数据访问模型。它使用组件对象模型(COM) 接口,与 ODBC 不同的是,OLE DB 假定数据源使用的不是 SQL 查询处理器。

Adaptive Server Anywhere 包括一个名为 ASAProv 的 OLE DB 提供程序。该提供程序可用于当前的 Windows 和 Windows CE 平台。

您还可以结合使用 【用于 ODBC 的 Microsoft OLE DB 提供程序】(MSDASQL) 和 Adaptive Server Anywhere ODBC 驱动程序来访问 Adaptive Server Anywhere。

使用 Adaptive Server Anywhere OLE DB 提供程序具有以下几个优点:

·某些功能(如通过游标更新)不能通过 OLE DB/ODBC Bridge 来使用。

·如果您使用 Adaptive Server Anywhere OLE DB 提供程序,则在部署过程中无需 ODBC。

·MSDASQL 允许 OLE DB 客户端用于任何 ODBC 驱动程序,但不保证您可以使用每个 ODBC 驱动程序的全部功能。而使用 Adaptive Server Anywhere 提供程序,您可以从 OLE DB 编程环境完全访问 Adaptive Server Anywhere 的全部功能。

结构问题

开始编写 OLE DB 应用程序之前应考虑以下问题:

使用何种编程实现来编写 OLE DB 应用程序?

Microsoft 提供多种库来解决该问题:OLE DB 模板库、OLE DB 属性以及 OLE DB SDK 中的原始 OLE DB 接口。另外,Microsoft 还提供帮助您编写程序的向导。有关这些实现的更详细的信息,请参见 OLE DB 模板、属性和其他实现。

是否需要编写自己的提供程序?

大多数开发人员无需这样。Microsoft 提供多种提供程序。无论用户何时创建一个数据连接,例如,当使用 ATL OLE DB 使用者向导向项目中添加使用者时,“数据链接属性”对话框都将列出系统中所有被注册的可用提供程序。如果其中一个提供程序适合于用户自己的数据存储和数据访问应用程序,最简单的办法就是使用该提供程序。但是,如果用户的数据存储不适合所提供的类别,则必须创建自己的提供程序。有关创建提供程序的信息,请参见 OLE DB 提供程序模板及其子主题。

需要为自己的使用者提供何种级别的支持?

一些使用者可能非常简单,另一些可能非常复杂。OLE DB 对象的功能由属性指定。使用 ATL OLE DB 使用者向导创建使用者或者使用数据库提供程序向导创建提供程序时,向导将为用户设置合适的对象属性来提供一组标准功能。但是,如果向导生成的使用者类或提供程序类并不具有您需要的所有支持功能,那么您需要查阅这些类在 OLE DB 模板库中的接口。这些接口包装原始 OLE DB 接口,提供附加实现以使其使用起来更加简单。

例如,如果您希望更新行集合中的数据,但在使用向导创建使用者时却忘记指定该功能,则可以在创建使用者之后通过对命令对象设置 DBPROP_IRowsetChange 和 DBPROP_UPDATABILITY 属性来指定该功能。这样,当行集合创建之后,它将具有 IRowsetChange 接口。

您是否有使用其他数据访问技术(ADO、ODBC 或 DAO)的旧版代码?

由于可能有各样各样的技术组合(例如 ADO 组件和 OLE DB 组件一起使用、将 ODBC 代码迁移至 OLE DB 等等),所以 Visual C 文档不能涵盖所有的情形。

分类:资讯
标签:是什么
编辑:tmt
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。文章版权归原作者所有,内容不代表本站立场!
免责声明: 阁下应知本站所提供的内容不能做为操作依据。本站作为信息内容发布平台,不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考! 如文中内容影响到您的合法权益(含文章中文字、图片等),请及时联系本站,我们会及时删除处理。