zoukankan      html  css  js  c++  java
  • ODBC、OLEDB和ADO关系

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

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

    看一张图:

    看图中右半部分。我们先来了解一下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。我们通过这些对象建立对数据库的连接,我们仅仅需编写訪问数据库的代码。而并不用关系数据库是怎样实现的。


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




    

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

  • 相关阅读:
    Mysql备份和恢复
    前端Css学习
    jQuery学习
    HTML页面学习
    Linux下java环境变量配置
    windows下java环境变量标准配置
    oracle查询消耗服务器资源SQL语句
    Java主线程在子线程执行完毕后再执行
    CentOS7 安装 Redis
    查看Oracle表空间使用情况
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4747951.html
Copyright © 2011-2022 走看看