之前的博客介绍了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来说更底层。

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

  1. 数据库访问接口(ODBC、OLE DB、ADO)

    最近在学C#的数据库编程,对于数据库接口技术这块的知识一直比较模糊,网上查了不少资料,看了几天还是朦朦胧胧的,只能做些笔记再研究了. 我们都知道,“数据库”是指一组相关信息的集合,最早的计算机应用之一 ...

  2. (4.3)ODBC/OLE DB/ADO概念与使用情况

    一.ODBC   ODBC的由来 1992年Microsoft和Sybase.Digital共同制定了ODBC标准接口,以单一的ODBC API来存取各种不同的数据库.随后ODBC便获得了许多数据库厂 ...

  3. ODBC、OLE DB、 ADO的区别

    转自:http://blog.csdn.net/yinjingjing198808/article/details/7665577 一.ODBC ODBC的由来 1992年Microsoft和Syba ...

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

    原文:OLE DB, ADO, ODBC关系与区别 OLE DB, ADO, ODBC 一. ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(W ...

  5. 【转】ODBC、OLE DB、 ADO的区别

    一.ODBC ODBC的由来 1992年Microsoft和Sybase.Digital共同制定了ODBC标准接口,以单一的ODBC API来存取各种不同的数据库.随后ODBC便获得了许多数据库厂商和 ...

  6. 用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败/OLE DB 错误: OLE DB 或 ODBC 错误 :

    用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败/OLE DB 错误: OLE DB 或 ODBC 错误 : 2012-2-23 上午 ,弄SAAS时,发现在生成多维数据集 ...

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

    ODBC: (Open Database Connectivity,开放数据库互连),它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口).这些API利用SQL来完成其大部分任务 ...

  8. Java数据库连接技术——JDBC

    大家好,今天我们学习了Java如何连接数据库.之前学过.net语言的数据库操作,感觉就是一通百通,大同小异. JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力. JDBC API ...

  9. OLE DB Command transformation 用法

    OLE DB Command transformation component 能够引用参数,逐行调用sqlcommand,This transformation is typically used ...

随机推荐

  1. Socket 心跳包机制总结

    跳包之所以叫心跳包是因为:它像心跳一样每隔固定时间发一次,以此来告诉服务器,这个客户端还活着.事实上这是为了保持长连接,至于这个包的内容,是没有什么特别规定的,不过一般都是很小的包,或者只包含包头的一 ...

  2. 跟Google学习Android开发-起始篇-与其它应用程序交互(2)

    6.2从活动获取结果 启动另一个活动不必是单向的.您也可以启动另一个活动,并接收一个结果回来.为了接收一个结果,调用startActivityForResult()(而不是startActivity( ...

  3. Android应用开发之(通过ClipboardManager, ClipData进行复制粘贴)

    在开发一些系统应用的时候,我们会用到Android的剪贴板功能,比如将文本文件.或者其他格式的内容复制到剪贴板或者从剪贴板获取数据等操作.Android平台中每个常规的应用运行在自己的进程空间中,相对 ...

  4. 外国的Delphi网站

    www.phidels.com delphifr.com http://www.swissdelphicenter.com/torry/showcode.php?id=787 B4A delphifa ...

  5. 混淆器:java程序保护如何知识产权,特别提供一个java 开发的java 源代码级的混淆器

    java程序保护如何知识产权,特别提供一个java 开发的java 源代码级的混淆器 下载地址:http://yunpan.cn/QXhEcGNYLgwTD 运行方式:java -jar Encryp ...

  6. 使用Curl进行抓取远程内容时url中文编码问题

    PHP中对于URL进行编码,可以使用 urlencode() 或者 rawurlencode(),二者的区别是前者把空格编码为 '+',而后者把空格编码为 '%20',不过应该注意的是,在编码时应该只 ...

  7. Jexus web server V5.6.1正式公布

    Jexus v5.6.1已经正式公布,下载和技术支持站点是 www.linuxdot.net. 该版开发时间历时11个月,后期直接在大流量生产环境中进行调试和优化,其正确性.稳定性.大并发承载能力.A ...

  8. 可编辑的表格:jQuery+PHP实现实时编辑表格字段内容

    在本例中,我们会通过jQuery实现单击将一个文本信息变为可编辑的表单,你可以对文本内容进行编辑,然后点击“确定”按钮,新的内容将发送到后台PHP程序处理,并保存到数据库:当点击“取消”按钮,则页面恢 ...

  9. [docker]coreOS与atomic对照

    声明: 本博客欢迎转发,但请保留原作者信息! 博客地址:http://blog.csdn.net/halcyonbaby 内容系本人学习.研究和总结,如有雷同,实属荣幸! 摘自https://majo ...

  10. spring-framework-3.2.4.RELEASE 综合hibernate-release-4.3.5.Final一个错误Caused by: java.lang.NoClassDefFound

    LZ一体化的今天spring-framework-3.2.4.RELEASE 综合hibernate-release-4.3.5.Final一个错误Caused by: java.lang.NoCla ...