知道.net影片后,相关数据库的一些概念连接的内侧部分是很无语。互联网是非常多的相关信息,外,基本上内容都神一样的一致。

如今。我就通过结合看到的一些资料再加上自己的理解试图去解释一下,有不正确的。还请大家不吝赐教!

看一张图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2FuZ3l5MTMw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

看图中右半部分。我们先来了解一下ODBC这个概念。

1.ODBC:

要了解ODBC是什么。先了解一下数据库连接的相关知识。

事实上,在最開始连接数据库时。因为数据库种类繁多,各种数据库连接有不同的需求,这个时期,数据库连接主要依靠各种API函数来进行连接。

而ODBC就是将这些API函数封装起来形成统一的接口如上图所看到的(ODBC上方有一个唯一的接口)。图中所看到的的ODBC层代表ODBC中各种数据库的驱动器(driver),当SQL语句进入接口后。驱动器管理程序通过辨别将它们分别相应的进入各自的驱动器(driver),由驱动器来讲SQL语句送入各种不同的数据库。

不知道上面这样写,有没有把这个ODBC给介绍的明确一点儿,学习要生活化。这样才easy理解。我来举个样例。

我们把ODBC假想成一辆汽车,汽车中有一名司机(driver),把以下的各种数据库如果程不同的工厂。如果司机接收到接口中的命令(SQL语句)——将汽车上的货物运到某个工厂中。

那么司机(driver)会依据命令中所指明的货物的类型,自己去辨别究竟应该进入哪个工厂才干完毕任务。

大家看,上面这个样例中接收的命令就好像是数据库中的SQL语句。那么司机就好像是驱动器(driver),而不同的工厂就好像是不同种类的数据库。这样理解,有没有简单一点儿呢?

2.OLEDB与ODBC

好了,再来看一下OLEDB,在上面的样例中我们理解了ODBC,还有我们必须知道,ODBC负责的仅仅是结构化数据库的连接。

这样我们就会比較easy理解OLEDB。

OLEDB事实上和ODBC类似,都是负责数据库连接的低级接口。而OLEDB不仅支持结构化数据库如SQL server,Oracel Access等,并且还支持非结构化数据源的连接如EXCEL等。

OLEDB(对象连接和嵌入数据库),是一组对象的集合。一种读写数据的方法。在使用OLEDB时,使用步骤为:初始化OLE、连接到数据源、发出命令、处理结果、释放数据源对象并停止初始化OLE。

他能够通过ODBC连接到数据库。也能够之间连接到数据库。当不通过ODBC时,这时在这当中并不涉及到驱动器的成分,因此,此时的数据库连接速度会更快。同一时候,我们能够知道,仅仅要支持ODBC的数据源是一定能够支持OLEDB的。

可是反过来则不一定。

3.ADO

通过图中。我们看到ADO是位于应用程序和OLEDB之间的。它属于数据库连接中的高层接口。

是一个用于存取数据源的COM组件。

它提供了编程语言和统一数据訪问方式OLE DB的一个中间层。同意开发者编写訪问数据的代码而不用关心数据库是怎样实现的,而仅仅用关心到数据库的连接。

訪问数据库的时候,关于SQL的知识不是必要的,可是特定数据库支持的SQL命令仍能够通过ADO中的命令对象来运行。

怎样理解上面这个概念呢?事实上我们能够联系我们学到的关于ADO控件的相关知识。在原来学习VB的时候,我们假设想要连接到数据库的话,必须载入一个引用空间。里面含有connection,command,recordset等一些相关数据库连接的对象,事实上这个引用就是ADO。我们通过这些对象建立对数据库的连接,我们仅仅需编写訪问数据库的代码。而并不用关系数据库是怎样实现的。

以上是我结合上图和学过的知识对这三个概念的理解。非常多不透彻的地方。请大家共同交流。



版权声明:本文博客原创文章。博客,未经同意,不得转载。

ODBC、OLEDB和ADO关系的更多相关文章

  1. ODBC、OLEDB、ADO、SQL的关系

    对于一个刚接触数据库的菜鸟来说(比如我),总是搞不清SQL.ADO.OLE DB.ODBC,大脑中一片混乱,好像懂了,又好像没懂,非常的苦恼,今天下了点功夫研究了一下,贴出来,其中肯定有好多错误,希望 ...

  2. 【转载】ODBC, OLEDB, ADO, ADO.Net的演化简史

    原文:ODBC, OLEDB, ADO, ADO.Net的演化简史 1.演变历史 它们是按照这个时间先后的顺序逐步出现的,史前->ODBC->OLEDB->ADO->ADO.N ...

  3. [转帖]ODBC、OLEDB、ADO、ADO.NET

    一文详解ODBC.OLEDB.ADO.ADO.NET之间的关系 2019年01月16日 21:28:38 LoveMIss-Y 阅读数:66更多 所属专栏: 白话C#高级编程   版权声明:本文为博主 ...

  4. ODBC, OLEDB, ADO, ADO.Net的演化简史

    ODBC, OLEDB, ADO, ADO.Net的演化简史 Copy&Paste了一下午,终于一蹴而就此文,嘿嘿... 1.演变历史 它们是按照这个时间先后的顺序逐步出现的,史前->O ...

  5. ODBC, OLEDB, ADO, ADO.NET

    在SSIS中,选择Connction Manager时,有很多的类型.其中会发现如下4个连接类型ODBC, OLEDB, ADO, ADO.NET.这4个东东到底是什么,他们有什么关联,什么区别,如何 ...

  6. 数据库访问接口(ODBC,OLEDB,ADO)

    数据库访问接口发展历史 ODBC历史 ODBC(Open Database Connectivity,开放数据库互连).要了解ODBC是什么,先了解一下数据库连接的相关知识.在最开始连接数据库时,由于 ...

  7. SQL那些事儿(十一)--ODBC,OLE-DB,ADO.NET区别[转]

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

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

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

  9. SSIS使用OleDB和Ado.Net两种方式调用 存储过程

    在使用”执行 SQL 任务“组件调用存储过程时,连接方式使用OleDB和Ado.Net稍有不同,结合图例说明一下 当我们使用OleDB时,设置的截图如下: 参数使用?来代替,Parameter Nam ...

随机推荐

  1. WIFI 状态栏显示的wifi信号强度与wifisetting列表不一致

    [DESCRIPTION] 状态栏显示的wifi信号强度与wifisetting列表不一致(不同步) [ANALYSIS] 1.apk都是接收RSSI_CHANGED intent,并调用WifiMa ...

  2. python没有++和--操作

  3. mac系统创建.开头文件.htaccess

    thinkphp5 隐藏index.php的时候需要用的.htaccess文件,但是mac默认不让创建这种文件 感谢 https://blog.csdn.net/gyz413977349/articl ...

  4. ArcEngine判断要素(feature)是否为multipart feature及分解(炸开)代码

    转自原文 ArcEngine判断要素(feature)是否为multipart feature及分解(炸开)代码 #region 校验合法性 ArrayList pFeatureArray = nul ...

  5. windows server 2012 AD 活动目录部署加入域并创建域用户(寻找视频课程)(计算机加入域其实是本计算机的管理员账号(本机名)加入域,关联账号即可在已经加入域的计算机上面登录)

    windows server 2012 AD 活动目录部署加入域并创建域用户(寻找视频课程)(计算机加入域其实是本计算机的管理员账号(本机名)加入域,关联账号即可在已经加入域的计算机上面登录) 一.总 ...

  6. Docker入门之 - 如何安装Docker CE

    原文:Docker入门之 - 如何安装Docker CE 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012055638/article/det ...

  7. 为什么 qt 成为 c++ 界面编程的第一选择?

    为什么qt成为c++界面编程的第一选择 一.前言 为什么现在QT越来越成为界面编程的第一选择,笔者从事qt界面编程已经有接近8年,在这之前我做C++界面都是基于MFC,也做过5年左右.当时为什么会从M ...

  8. CMakeListx.txt 编辑语法学习

    已hello.cpp为源文件,构建一个CMakeLists.txt cmake_minimum_required(VERSION 2.8) project(hello) add_executable( ...

  9. 应用:udp聊天器

    说明 在一个电脑中编写1个程序,有2个功能 1.获取键盘数据,并将其发送给对方 2.接收数据并显示 并且功能数据进行选择以上的2个功能调用 要求 实现上述程序 参考代码 import socketde ...

  10. [SCSS] Organize SCSS into Multiple Files with Partials

    Tired of dealing with monolithic CSS files? Are requests for multiple CSS files hurting your perform ...