1、OLE DB(OLEDB)是微软为访问不同数据源而设计的底层应用程序接口。OLE DB不仅包括由微软资助的标准数据接口开放数据库连接(ODBC)的结构化查询语言(SQL)功能,
2、还有其他非SQL数据类型的通道。OLE DB作为微软的组件对象模型(COM)的一种设计,是一套读写数据的方法(过去可能叫通道)。
3、OLE DB中的对象主要包括数据源对象、阶段对象、命令对象和行组对象。
(相关资料图)
一、定义
4、OLE DB(Object Linking and Embedding,Database,也称为OLE DB或OLE-DB)是基于COM的数据存储对象,可以提供对所有类型数据的操作。
5、您甚至可以脱机访问数据(例如,如果您使用笔记本电脑,您可以很容易地看到上次数据同步的数据映像)。
二、简介
6、OLEDB位于ODBC层和应用程序之间。在你的ASP页面中,ADO是OLEDB之上的一个应用。您的ADO调用首先被发送到OLEDB。
7、然后由ODBC处理。您可以直接连接到OLEDB层。如果这样做,您将看到服务器端游标(记录集的默认游标,也是最常用的游标)的性能提高。
8、OLEDB(OLEDB)是微软针对不同数据源的战略性底层应用接口。OLE DB不仅包括Microsoft支持的标准数据接口开放式数据库连接(ODBC)的结构化查询语言(SQL)功能,
9、还有其他非SQL数据类型的通道。OLE DB作为微软的组件对象模型(COM)的一种设计,是一套读写数据的方法(过去可能叫通道)。
10、OLE DB中的对象主要包括数据源对象、阶段对象、命令对象和行组对象。
11、使用OLE DB的应用程序将使用以下请求序列:初始化OLE、连接到数据源、发出命令、处理结果、释放数据源对象和停止初始化OLE。
三、组成
12、OLEDB标准中定义的新概念——OLEDB将传统的数据库系统分成若干个逻辑组件,这些组件相对独立,相互通信。这个组件模型的每个部分都有不同的名称。
13、例如,数据提供者是指提供数据存储的软件组件,范围从普通文本文件到主机上的复杂数据库或电子邮件存储,所有这些都是数据提供者的示例。
14、一些文档将这些软件组件的开发者称为数据提供者。
15、如果我们想打开Access数据库中的数据,我们必须使用ADOT通过OLEDB打开它。AT使用OLEDB来获取数据,因为OLEDB知道如何与许多数据源通信。
16、因此,很好地理解OLEDB是很重要的。OLEDB是一个开放标准,设计为COM(ComponentObject Model,一种对象格式)。
17、所有按照COM规范制作的组件都可以提供功能给其他程序或组件使用。)组件。OLE DB主要由三部分组成:
18、数据提供者
19、任何通过OLEDB提供数据的人都是数据提供者。例如,SQL Server数据库中的数据表或文件名为mdb的Access数据库文件都是数据提供程序。
20、数据消费者数据用户
21、所有使用OLEDB提供数据的程序或组件都是OLEDB的数据用户。换句话说,所有使用ADO的应用程序或网页都是OLE DB的数据用户。
22、Service component service component
23、数据服务组件可以在数据提供者和数据用户之间执行数据传输。当数据用户希望从数据提供者请求数据时,他们通过OLEDB服务组件的查询处理器执行查询,查询的结果由指针引擎管理。
四、功能
24、使用OLE DB的应用程序将使用以下请求序列:初始化OLE以连接到数据源,发出命令以处理结果,释放数据源对象,并停止初始化OLE。
25、OLE DB是微软的数据访问模型。它使用组件对象模型(COM)接口。与ODBC不同,OLE DB假定数据源不是SQL查询处理器。
26、Adaptive Server Anywhere包括一个名为ASAProv的OLE DB提供程序。该提供程序可以在当前的Windows和Windows CE平台上使用。
27、You can also use the Microsoft OLE DB provider for open database connectivity (MSDASQL) and the Adaptive Server Anywhere ODBC driver to access Adaptive Server Anywhere.
28、使用Adaptive Server Anywhere OLE DB提供程序有几个优点:
29、某些功能(如通过游标更新)不能通过OLE DB/ODBC Bridge 来使用。
30、如果您使用Adaptive Server Anywhere OLE DB 提供程序,则在部署过程中无需ODBC。
31、MSDASQL 允许OLE DB 客户端用于任何ODBC 驱动程序,但不保证您可以使用每个ODBC 驱动程序的全部功能。而使用Adaptive Server Anywhere 提供程序,
32、您可以从OLE DB 编程环境完全访问Adaptive Server Anywhere 的全部功能。
五、结构问题
33、开始编写OLE DB 应用程序之前应考虑以下问题:
34、使用何种编程实现来编写OLE DB 应用程序?
35、Microsoft 提供多种库来解决该问题:OLE DB 模板库、OLE DB 属性以及OLE DB SDK 中的原始OLE DB 接口。另外,Microsoft 还提供帮助您编写程序的向导。
36、有关这些实现的更详细的信息,请参见OLE DB 模板、属性和其他实现。
37、
是否需要编写自己的提供程序?
37、 大多数开发人员无需这样。Microsoft 提供多种提供程序。无论用户何时创建一个数据连接,例如,当使用ATL OLE DB 使用者向导向项目中添加使用者时,
38、“数据链接属性”对话框都将列出系统中所有被注册的可用提供程序。如果其中一个提供程序适合于用户自己的数据存储和数据访问应用程序,最简单的办法就是使用该提供程序。但是,
39、如果用户的数据存储不适合所提供的类别,则必须创建自己的提供程序。有关创建提供程序的信息,请参见OLE DB 提供程序模板及其子主题。
40、
需要为自己的使用者提供何种级别的支持?
40、 一些使用者可能非常简单,另一些可能非常复杂。OLE DB 对象的功能由属性指定。使用ATL OLE DB 使用者向导创建使用者或者使用数据库提供程序向导创建提供程序时,
41、向导将为用户设置合适的对象属性来提供一组标准功能。但是,如果向导生成的使用者类或提供程序类并不具有您需要的所有支持功能,那么您需要查阅这些类在OLE DB 模板库中的接口。
42、这些接口包装原始OLE DB 接口,提供附加实现以使其使用起来更加简单。
43、例如,如果您希望更新行集合中的数据,但在使用向导创建使用者时却忘记指定该功能,
44、则可以在创建使用者之后通过对命令对象设置DBPROP_IRowsetChange 和DBPROP_UPDATABILITY 属性来指定该功能。这样,当行集合创建之后,
45、它将具有IRowsetChange 接口。
46、您是否有使用其他数据访问技术(ADO、ODBC 或DAO)的旧版代码?
47、由于可能有各样各样的技术组合(例如ADO 组件和OLE DB 组件一起使用、将ODBC 代码迁移至OLE DB 等等),所以Visual C++文档不能涵盖所有的情形。
本文oledb是什么,OLEDB是什么到此分享完毕,希望对大家有所帮助。