OLE DB

转载 2012年03月28日 01:44:58

OLE DB(OLEDB)是微软的战略性的通向不同的数据源的低级应用程序接口。OLE DB不仅包括微软资助的标准数据接口开放数据库连通性(ODBC)的结构化问题语言(SQL)能力,还具有面向其他非SQL数据类型的通路。

OLE 全称 Object Link and embed,即对象连接与嵌入。  作为微软的组件对象模型(COM)的一种设计,OLE DB是一组读写数据的方法(在过去可能被称为渠道)。OLE DB中的对象主要包括数据源对象、阶段对象、命令对象和行组对象。使用OLE DB的应用程序会用到如下的请求序列: 初始化OLE 连接到数据源、发出命令、处理结果、释放数据源对象并停止初始化OLE

  

OLE DB

Object Linking and Embedding,对象连接与嵌入,简称OLE技术。OLE不仅是桌面应用程序集成,而且还定义和实现了一种允许应用程序作为软件“对象”(数据集合和操作数据的函数)彼此进行“连接”的机制,这种连接机制和协议称为部件对象模型。   OLE 是一种面向对象的技术,利用这种技术可开发可重复使用的软件组件(COM)。  DB(英文全称data base,数据库)是依照某种数据模型组织起来并存放二级存储器中的数据集合。

编辑本段组成

  OLE DB 最主要是由三个部分组合而成:   Data Providers 数据提供者  凡是透过OLE DB 将数据提供出来的,就是数据提供者。例如SQL Server 数据库中的数据表,或是附文件名为mdb 的Access 数据库档案等,都是Data Provider。   Data Consumers 数据使用者  凡是使用OLE DB 提供数据的程序或组件,都是OLE DB 的数据使用者。换句话说,凡是使用ADO 的应用程序或网页都是OLE DB 的数据使用者。   Service Components 服务组件  数据服务组件可以执行数据提供者以及数据使用者之间数据传递的工作,数据使用者要向数据提供者要求数据时,是透过OLE DB 服务组件的查询处理器执行查询的工作,而查询到的结果则由指针引擎来管理。



OLE DB 与ODBC 的关系

  由于OLE DB 和ODBC 标准都是为了提供统一的访问数据接口,所以曾经有人疑惑:OLE DB 是不是替代ODBC 的新标准?答案是否定的。实际上,ODBC 标准的对象是基于SQL 的数据源(SQL-Based Data Source),而OLE DB 的对象则是范围更为广泛的任何数据存储。从这个意义上说,符合ODBC 标准的数据源是符合OLE DB 标准的数据存储的子集。符合ODBC 标准的数据源要符合OLE DB 标准,还必须提供相应的OLE DB 服务程序(Service Provider),就像SQL Server 要符合ODBC 标准,必须提供SQL Server ODBC 驱动程序一样。现在,微软自己已经为所有的ODBC 数据源提供了一个统一的OLE DB 服务程序,叫做ODBC OLE DB Provider。  ODBC OLE DB Provider 发布之后,有人又担心:ODBC Provider 是不是在ODBC 之上的新的层次(Layer)?如果是,那么使用OLE DB 访问ODBC 数据源是否将影响性能?答案也是否定的。实际上,ODBC Provider 的作用,是替换ODBC Driver Manager,作为应用程序与ODBC 驱动程序之间的桥梁,理论上不会增加任何开销。


ODBC与OLE DB的区别

  • 2014年05月10日 19:11
  • 597KB
  • 下载

pb9 通过ole db连接sqlite3数据库

pb9 通过ole db连接sqlite3数据库 2013-02-17 11:22:05 分类: Python/Ruby sqlite3数据库,简单而功能强大,...
  • aasmfox
  • aasmfox
  • 2015年08月10日 09:39
  • 1237

IBM DB2 Ole 驱动Part1

  • 2009年04月22日 11:28
  • 9.54MB
  • 下载

使用OLE DB方式连接常用数据库的连接字符串的设置

SQL Server 使用 OLE DB 所设置的连接字符串: 标准连接方式 Provider=sqloledb;Data Source=datasource;Initial Catalog=Db...

OLE DB 访问接口 "SQLNCLI" 返回了消息

OLE DB 访问接口 "SQLNCLI" 返回了消息--转  (2009-02-25 20:08:02) 转载▼ 标签:  杂谈 分类: SQLSERV...
  • hiyanzi
  • hiyanzi
  • 2014年07月14日 16:51
  • 198

ole db 更新的问题

这两天为用 oleDB 更新 access 数据库搞得晕头转向,用 OleDbCommandBuilder 生成的 insert 语句运行时老报错。今天终于找到解决办法,见: http://www.d...
  • enixlin
  • enixlin
  • 2011年04月05日 22:46
  • 166

The Excel Connection Manager is not supported in the 64-bit version of SSIS, as no OLE DB provider i

昨天朋友在64位环境开发SSIS的时候遇到一个问题: The Excel Connection Manager is not supported in the 64-bit version ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OLE DB
举报原因:
原因补充:

(最多只允许输入30个字)