JDBC与ODBC都可以实现类似的功能,但JDBC与ODBC的区别是他们的开发架构不同,其实现细节上也有所差异。

谈到JDBC与ODBC的差异,JDBC和ODBC其实都是用来衔接数据库的发动程序。ODBC中文名字叫做敞开数据库互联,是微软技能人员开发的敞开服务结构中有关数据库的一个组成部分,它树立一组相关的规范,并供给了一组对数据库拜访的规范运用程序编程接口。简略的说,ODBC便是运用程序与数据库体系进行交互的东西。一个给予ODBC的运用程序对数据库的操作不依赖于人员的数据库体系,不支持与数据库办理体系打交道,一切的数据库操作由对应的数据库体系的ODBC驱动程序来完结。然后能够完结以同一的方法来处理一切的数据库。

JDBC与ODBC的差异与使用(jdbc与odbc区别)  JDBC与ODBC的区别 第1张

而JDBC与ODBC相似,也是一个运用程序与数据库进行通讯的中介。仅仅他们的开发商不同罢了。JDBC是由Sun公司向联络型数据库体系厂商供给JDBC的规范与需求;然后各大厂商遵从规范规范规划出契合自己数据库产品的JDBC驱动程序。尽管JDBC与ODBC都能够完结相似的功用,可是他们的开发架构不同,其完结细节上也有所差异。为此数据库办理员有必要要了解这方面的差异,并在工作中依据实践状况来挑选适宜的数据库驱动程序。

JDBC与ODBC的差异:JDBC的长处

JDBC运用程序接口是JAVA程序言语内针对数据存取所触及的程序开发接口,其内部是由许多类与接口构成。而ODBC则是由C言语来开发的。因为两者开发渠道的不同,为此开发不同种各自的特色也就传递到了这连个数据库发动程序中。依据笔者的了解,相对ODBC数据库发动程序来说,JDBC有如下几个长处。若笔者归纳的不行全面的话,欢迎咱们来补全。

1、JDBC要比ODBC简略了解。咱们学过编程的或许会有一个直观的感触,便是JAVA言语要比C言语好学的多。因为JAVA言语的规划思路是面向对象的,跟人的知道思想比较挨近,为此比较简略被人承受,学习起来也相对轻松一点。而C言语则就比较笼统了,跟人的知道规则有必定的间隔。为此他们开宣布来的产品也有相似的特色。在ODBC中,尽管能够完结与数据库的交互,可是完结起来比较杂乱。如一个简略的查询,也需求分为好几块内容;而在ODBC驱动程序内部再去进行整合,进行一些杂乱的操作。这不只降低了数据库发动程序的功用,并且也给程序开发者开发运用程序带来了必定的负面影响。而JDBC数据库发动程序在规划的时分就包含了大部分根本数据操作功用,为此在编写一些惯例的数据库操作句子时,如查询、更新等等,其所需求的代码比ODBC要少的多。故从这方面来说,JDBC数据库发动程序要比ODBC简略了解。

2、JDBC数据库驱动程序是面向对象的,彻底遵从JAVA言语的优秀特性。通常状况下,只需有JAVA车功用需规划根底的用户都能够在最短时刻内了解JDBC驱动程序的架构,比较简略上手,能够垂手可得的开宣布强悍的数据库运用程序。而ODBC的话,因为其内部功用杂乱,代码编写要求高。为此即使是一个C言语的高手,依然需求花费不少的时刻去了解这个数据库发动程序;在编写代码的时分,还离不开相关的参阅书本。

3、JDBC的移植性要比ODBC要好。通常状况下,装置完ODBC驱动程序之后,还需求经过必定的装备才能够运用。而不同的装备在不同数据库服务器之间不能够通用。也便是说,装一次需求装备一次。可是JDBC数据库驱动程序则不同。假如选用JDBC数据库驱动程序的话,则知需求挑选恰当的JDBC数据库驱动程序,就不需求进行额定的装备。在装置过程中,JDBC数据库驱动程序会自己完结相关的装备。为此JDBC的移植性要比ODBC要好。

总归JDBC与ODBC都是数据库的发动程序,它们的实质是相同的,都是为了处理SQL句子而规划的。并且JDBC在规划的时分,其也是在ODBC的根底上进行规划的,并保存了ODBC数据库驱动程序的部分功用。或许说,咱们能够把JDBC看作是ODBC的另一个高档版别也未尝不可。JDBC首要在操作上、友好性上做了必定的改善。

JDBC与ODBC的差异:什么时分选用JDBC?

尽管说JDBC数据库发动程序比ODBC来说具有不少的长处,可是也并不是说在一切的状况下选用JDBC数据库发动程序都能够起到不错的作用。数据库办理员还需求依据企业的实践运用环境来进行挑选。通常状况下,假如契合下面几种状况的任何一种,笔者主张选用JDBC数据库驱动程序。

一是选用Oracle公司的Oracle JDeveloper 10G来开发运用程序。JDeveloper 10G是Oracle公司供给的一个可视化的开发环境。能够协助数据库办理员与开发人员便当的完结一些杂乱的功用。如数据库开发人员能够借这个东西来规划WEB运用程序的网页履行流程;如能够用来开发业务服务层组件;如能够在JSP与JClient运用程序内完结数据绑定功用等等。特别是在运用这个东西开发业务服务层组件的时分,能够直接阅读与存取业务组件所对应的数据。数据库开发人员不必比及运用程序撰写好后才测验数据库的存取功用。明显这个特性让数据库开发人员在开发数据库运用程序的时分分外的便当。而为了合作这个开发东西,Oracle公司专门开发了对应的JDBC驱动程序。为此假如数据库开发人员选用JDeveloper开发东西的话,那么选用JDBC要比选用ODBC的兼容性要好。所以假如选用了这种开发东西的话,***能够选用JDBC数据库发动程序。

二是假如运用程序选用的是JAVA开发渠道的话,那么***运用JDBC数据库发动程序。其实JDeveloper选用的也是JAVA开发渠道。这首要是因为假如JAVA程序直接调用ODBC的C言语运用程序接口时,比较简略产生安全方面的问题。如Java言语是不选用指针的(因为指针的处理功率比较慢),而ODBC所选用的C言语却运用了很多的指针。为此假如运用JAVA言语渠道来开发数据库运用程序,若选用ODBC数据库驱动程序的话,就不那么适宜了。别的因为JDBC也是JAVA言语开发的,所以其兼容性也会好许多。为此笔者主张,假如数据库开发人员选用的是JAVA言语开发渠道的话,那么***选用JDBC驱动程序,而不是ODBC驱动程序。

在其他的状况下,数据库办理员与开发人员能够依据自己的习气来挑选适宜的数据库驱动程序。

JDBC与ODBC的差异:能否从ODBC顺畅过渡到JDBC?

或许数据库办理员曾经选用的是ODBC驱动程序,而假如数据库办理员现在需求选用JDBC驱动程序,那么能否完结顺畅过渡呢?答案是必定的。在JDBC驱动程序中有一类叫作JDBC-ODBC桥接发动程序。这种类型的JDBC数据库驱动程序其底层是经过ODBC驱动程序来衔接数据库的。假如原先的运用程序是根据ODBC数据库驱动程序的,或许数据库没有供给对应的JDBC驱动程序,则数据库办理员能够运用JDBC-ODBC桥接驱动程序来完结。也便是说,桥接驱动程序能够运用现有的ODBC驱动程序来存取联络型数据库。为此者不只能够保存从前的开发架构(经过ODBC来存取数据),还能够当即运用JAVA作为新的开发环境,然后完结ODBC数据库驱动程序到JDBC的顺畅转型。

不过在选用这种桥接驱动程序的时分,需求留意几个问题。一是这个桥接驱动程序依然需求用到ODBC数据库驱动程序。因为桥接驱动程序直接联络的对象是ODBC驱动程序,然后再经过ODBC驱动程序去拜访数据库。为此在客户端有必要先装置并装备好ODBC驱动程序。假如选用的是三层式的开发结构,也需求装置ODBC驱动程序。其次,在这种形式下,运用程序先调用JDBC,然后再经过JDBC调用ODBC,***再跟数据库进行通讯。明显其中心多了几个环节。因为其中心环节比较多,但数据拜访出现问题的时分,就不怎样好查问题。这就如同一道水管,假如中心的接口多了的话,则产生漏水的几率就比较高。假如真的产生漏水的话,则查询漏水点的时分也会比较困难。为此笔者以为,选用桥接类型的JDBC驱动程序仅仅权宜之计。在恰当的时分,数据库开发人员仍是需求调整原先的开发架构,全部都转到JDBC驱动程序上来。桥接程序仅仅为数据库开发人员争夺必定的时刻。尽管这个转型过程中的阵痛是比较痛的,但确是不可避免的。长痛不如短痛,笔者主张数据库开发人员仍是及早进行过渡为好。并在或许的状况下,把曾经的开发架构也进行调整,以选用真实意义上的JDBC驱动程序。

【修改引荐】

  1. JDBC驱动类别浅析
  2. JDBC分布式业务浅析
  3. 浅谈JSP与JDBC的灵活运用
  4. JDBC与JSP简略模仿MVC三层架构
  5. JDBC技能发展进程以及技能概览
转载请说明出处
知优网 » JDBC与ODBC的差异与使用(jdbc与odbc区别)

发表评论

您需要后才能发表评论