数据库连接技术之OLE DB

之前的博客介绍了ODBC和JDBC。这次简单的介绍一下OLE DB。ODBC的总结不知道是没贴到博客上还是不在这个博客上,我再找找,没有的话我再补充到时候。好了。開始吧。

回想

之前呢介绍过了ODBC和JDBC主要的结构是一样的,也就是本质一致。都是是訪问数据库的一套统一的接口,是一系列的规范和对数据库訪问的API。差别仅仅是在于ODBC是由C++语言实现的而JDBC是有Java实现的,之所以出现JDBC是由于Java程序和C++的ODBC之间的通信不便。

能够说ODBC和JDBC二者之间的关系是横向的。而OLE DB相对与ODBC的关系则是纵向的。为什么这么说呢?

OLE DB之历史

为什么说OLE DB((Object Linking and Embedding, Database)和ODBC之间的关系是纵向的呢。

这还是要从ODBC说起,ODBC是一套接口。可是ODBC仅仅支持訪问关系型数据库,既二维数据数据库。可是随着技术的发展显然我们须要面对的不在仅仅是关系型的数据库。还须要訪问不能使用SQL訪问的非关系行和层次结构行数据,包含邮件系统中的数据、Web上的文本、文件夹服务等形式。因此。从数据源的角度来说OLE
DB 和ODBC的关系例如以下图:

基于COM标准

ODBC是基于API的实现,而OLE DB则是基于COM标准。

也就是说在实现上ODBC必须支持差点儿全部的DBMS特征和功能,而OLE DB则能够部分实现。

这里不太理解能够查查什么事COM标准。

OLE DB构成

OLE DB包含几个逻辑组件,由于其基于COM标准,所以组件之间相互独立,仅保持通信。

数据提供者(Data Provider):凡是通过OLE DB将数据提供出来的。即数据库提供者。数据提供者的概念能够和ODBC中的驱动程序对照理解。

数据消费者(Data Consumer):使用了OLE DB提供的数据的程序或组件。

服务组件(Service Component):运行数据提供者和数据消费者之间的数据传递工作。

业务组件(Bussiness Component):利用服务组件专门完毕某种特定业务信息处理。是能够重用的功能组件。

OLE DB和ADO

之前的博客绝对是介绍过ADO了,这里ADO是OLE DB的进一步封装,在程序中的关系例如以下:

总的来说:OLE DB是ODBC的扩充。它基于COM标准,具有比ODBC更高的灵活性。只是终于也还是链接数据库的一套标准。仅仅只是相对与ODBC来说更底层。

时间: 2024-11-16 04:18:23

数据库连接技术之OLE DB的相关文章

数据库连接字符串 ODBC DSN,ODBC DSN-Less, OLE DB Provider,和"MS Remote" Provider

下面将简单介绍一下几种ADO连接方式:ODBC DSN,ODBC DSN-Less, OLE DB Provider,和"MS Remote" Provider. I.DSN oConn.Open "DSN=AdvWorks; UID=Admin; PWD=;" 注意:从MDAC2.1开始就不能够在使用这样的方式了,就是只把DSN文件名放在ConnectString中.你必须同时使用DSN,UID,PWD标志.例如下面的方式在MDAC 2.1中将会出错:oConn.

简单了解ADO.NET、ADO、OLE DB、ODBC

一.数据访问方式的历史 通用数据访问模型:      ODBC – (Open Database Connectivity)是一种底层的访问技术,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口). OLE DB – 随着越来越多的数据以非关系型格式存储,需要一种新的架构来提供这种应用和数据源之间的无缝连接,基于COM(Component Object Model)的OLE DB应运而生了. 数据访问客户端:    DAO - (Data Access Objects)不

ODBC、OLE DB、 ADO的区别

一.ODBC ODBC的由来 1992年Microsoft和Sybase.Digital共同制定了ODBC标准接口,以单一的ODBC API来存取各种不同的数据库.随后ODBC便获得了许多数据库厂商和Third-Party的支持而逐渐成为标准的数据存取技术.ODBC以当时的业界标准规范X/OpenCall-LevelInterface(CLI)和ISO/IEC9075-3Call-LevelInterface(SQL/CLI)为涵盖的范围,因而支持了广阔的数据库.虽然ODBC在初期的版本中执行效

【转载】OLE DB, ADO, ODBC关系与区别

原文:OLE DB, ADO, ODBC关系与区别 OLE DB, ADO, ODBC 一. ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口).这些API利用 SQL来完成其大部分任务.ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC

JDBC、ODBC、OLE DB、ADO、ADOMD区别与联系

ODBC: (Open Database Connectivity,开放数据库互连),它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口).这些API利用SQL来完成其大部分任务.ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC. JDBC:全称为Java DataBase Connectivity standard, 它是一个面向对象的应用程序接口(API), 通过它可訪问各类关系数据库.JDBC也是java核心类库的一部分. OLE DB(O

无法执行该操作,因为链接服务器 "xxxxx" 的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务

在存储过程中使用事务,并且使用链接服务器时,报类似下面的错误 链接服务器"****"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "没有活动事务.".消息 7391,级别 16,状态 2,过程 proc_SyncDiliveryData,第 20 行无法执行该操作,因为链接服务器 "*****r" 的 OLE DB 访问接口 "SQLNCLI10" 无法启动分布式事务. 度娘了很久,找到了

Cannot create an instance of OLE DB provider “OraOLEDB.Oracle” for linked server "xxxxxxx".

在SQL SERVER 2008 R2下用Windows 身份认证的登录名创建了一个访问ORACLE数据库的链接服务器xxxxx,测试成功,木有问题,但是其它登录名使用该链接服务器时,报如下错误: 消息 7302,级别 16,状态 1,第 1 行 Cannot create an instance of OLE DB provider "OraOLEDB.Oracle" for linked server "xxxxxx". 此时需要在"服务器对象&quo

win2003没有OLE DB Provider for SQLServer驱动,可安装sqlserver2000或者安装MDAC2.6,适用于winxp、win2003

另外如果Delphi7中没有MIcrosoft OLE DB Provider for SQLServer,可以下载下sqloledb.dll,然后在储存的C:\Program Files (x86)\Common Files\System\ole db 文件夹下运行 regsvr32注册dll(32位用法),数据源连接处即可有MIcrosoft OLE DB Provider for SQLServer出现!

JDBC数据库连接技术

[学习笔记]JDBC数据库连接技术(Java Database Connectivity) 一.JDBC简介 Java是通过JDBC技术实现对各种数据库的访问的,JDBC是Java数据库连接技术的简称.它可以把数据持久保存,是一种持久化机制. 1.持久化 持久化就是将程序中的数据在瞬时状态和持久状态间转换的机制. 2.JDBC API Connection连接接口 Statement接口 ResultSet结果集接口 PerparedStatement接口 3.JDBC Driver Manag