欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

深入数据库通用的连接方式详解

程序员文章站 2024-02-20 08:57:22
每个数据的访问都用自己的通信协议,包括还有不同的接口调用,参数传递。在同一个程序里要使用不同数据库里的信息,按照正常的情况来说,那就要写不同的数据库连接的方法,就像在程序里...

每个数据的访问都用自己的通信协议,包括还有不同的接口调用,参数传递。在同一个程序里要使用不同数据库里的信息,按照正常的情况来说,那就要写不同的数据库连接的方法,就像在程序里写了多个精简版的 数据库 客户端。这样的编程方式肯定会让人不好难受,所以就期望能够有一种统一的访问数据库的方式,大家都用这一种方式去连接数据库,那么将减少很多痛苦。

话说微软是第一个给大家带来曙光的人,推出了odbc的概念,从此所有的程序都不用自己写数据库连接程序了,从此跨入了解放时代。odbc是一组基于c语言的api,它能兼容不同的数据库,然后提供统一的访问接口,这样就为大家节省出了yy的时间。

在odbc推出后多年,有出了一个新概念ole db。这个是odbc的升级版,因为一切都开始面向对象了,所以这个自然就是以对象方式来实现的。而且在性能方面也有了一些提高,自此ole db成为微软的新宠。

odbc、ole db都是底层的数据库访问接口,使用起来不是很方便、容易,大家yy的时间又被占用的,为此微软决定再次解放大家、所以就出来了ado的概念。很显然这是一个对象,就是对ole db、odbc的高层封装,把大家经常要做的数据库操作都给直接提供出来,大家的yy时间再次被解救回来了。

不过在这期间sun公司也没闲着,为了更大层次的解救java程序猿们的yy时间,就单独写了一套专门用于java的数据库访问接口jdbc,听名字就知道是山寨创意了。换汤不换药,唯一的好处就是java代码里调用会更舒服,自己家养的东西肯定用起来更顺手。

当然sun除了山寨创意外,还保留了对odbc的调用接口【jdbc-odbc桥】,以防不时之需;这样万一有一天除了一个新的东西只有odbc支持,jdbc不支持。这时还不至于太有压力。当然odbc的支持也是目前最广的,某些非主流的数据库文件的访问接口也都支持,所以还是留一手的好。

这样的话,数据库访问方式就开始明朗了。见下:

深入数据库通用的连接方式详解

这样看来,用途最广、最底层的就是odbc了。基本所有其它的都会可能调用它,jdbc、ole db是一个等级的;一个是sun的,一个是微软的;ado不是直接访问的程序,只是一个访问快速通道而已。

注:所有的链接方式都需要本机有相应的驱动,而驱动是和具体的数据库是对应的。这样就会有3类驱动类型,每类访问n种数据库都要n个驱动。