`

JDBC与ODBC的区别与实际运用

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



      谈到JDBC与ODBC的区别,JDBC和ODBC其实都是用来连接数据库的启动程序。ODBC中文姓名叫做开放数据库互联,是 Microsoft性能开发的开放服务框架中有关数据库的一个的组成部份,它建立一组有关的规则,并帮助了一组对数据库访问的达标实际运用程序编程接口。简单的说,ODBC那是实际运用程序与数据库系统停止交互的道具。一个的给予ODBC的实际运用程序对数据库的操作不依赖于的数据库系统,不支持与数据库管理系统打交道,所有的数据库操作由对应的数据库系统的ODBC驱动程序来完成。从而没成绩出现以同一的方法来处理所有的数据库。



      而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驱动程序。
分享到:
评论

相关推荐

    sql-server2005 的jdbc-odbc驱动和dbutils

    总的来说,理解并熟练运用SQL Server 2005的JDBC-ODBC驱动和DBUtils是Java开发人员进行数据库操作时的重要技能。通过这些工具,可以构建出稳定、高效的数据库应用程序,满足企业的各种需求。在实际项目中,还需要...

    网络游戏账号管理系统(该系统采用JSP脚本在EditPlus下编写代码,采用JDBC-ODBC桥接的形式对数据源文件进行写入、读出、修改、删除、添加等操作)

    通过JDBC-ODBC桥接,Java应用可以利用ODBC驱动程序与各种类型的数据库进行交互,例如Microsoft SQL Server、MySQL等。这种桥接方式使得系统能够跨数据库平台工作,具有较好的兼容性。 系统的主要功能包括对数据源...

    JDBC与JAVA数据库程序设计PPT.ppt

    **JDBC与JAVA数据库程序设计**是Java...在实际项目中,根据数据库类型选择合适的JDBC驱动类型(如类型一的JDBC-ODBC桥接、类型二、类型三或类型四的纯Java驱动),并遵循规范的JDBC访问流程,能有效地进行数据库操作。

    JSP+JDBC+DB.rar_ jsp jdbc_jdbc_jdbc jsp_jdbc mdb jsp_jsp jdbc

    用户可以通过学习和运行这些代码,理解如何在实际项目中灵活运用JSP和JDBC来实现数据库的增删查改操作,同时也可以了解到JDBC与不同数据库系统的兼容性。对于初学者或有一定经验的Java Web开发者来说,这都是一个...

    JDBC连接SQL (驱动)

    Java程序通过JDBC-ODBC桥接与ODBC通信,然后ODBC再与特定的数据库驱动通信。这种方法适用于多种数据库,但效率较低,且需要安装额外的ODBC驱动。 2. **类型2:部分Java驱动(Native API)** - 这种驱动是部分Java...

    jdbc链接方式与相关驱动

    这种方式下,需要在系统中配置ODBC数据源,然后通过JDBC调用ODBC API,间接与Oracle等数据库进行交互。虽然这种方法相对简单,但性能较低,且依赖于ODBC驱动,不适用于跨平台的应用。 Oracle数据库链接通常涉及...

    JDBC与Java数据库编程

    - **JDBC-ODBC Bridge Driver**:通过ODBC桥接驱动程序与数据库通信,适用于没有提供JDBC驱动的数据库,如Access。 - **Native API Driver**:包含部分Java代码和部分本地代码,直接与数据库通讯。 - **JDBC-...

    数据库原理实验六 ODBC和JDBC数据库编程.docx

    与ODBC不同,JDBC使用Java类和方法来执行这些操作。 在实验过程中,可能会遇到的问题,如找不到MFC项目的起点,实际上MFC项目通常从窗口构造函数开始,而不是传统的main函数。点击按钮触发的事件处理函数是数据库...

    jdbc 课件.doc

    1. **JDBC驱动程序**:这是JDBC的核心,负责与数据库之间的实际通信。JDBC驱动分为四种类型(Type1到Type4),每种类型有不同的性能和适用场景。 - **Type1:JDBC-ODBC Bridge**:最原始的方式,通过JDBC驱动间接...

    jdbc驱动包

    在Java应用中,若要与Oracle 11g数据库进行通信,就需要使用Oracle JDBC驱动程序,它分为几种类型,包括 Thin、OCI(Oracle Call Interface)和JDBC-ODBC桥等。 1. **Thin驱动**:这是一个纯Java实现的驱动,无需...

    access_JDBC驱动

    在Java编程环境中,Access JDBC驱动是一个关键组件,它允许开发者使用Java编程语言来与Microsoft Access数据库进行交互。本文将深入探讨这个主题,介绍如何利用JDBC驱动连接Access数据库,以及在不同操作系统上的...

    JAVA数据库编程JDBC 与 Java数据库接口JDBC入门基础讲座 与 JDBC API数据库编程实作教材-程序设计-JAVA JDBC全压缩包.rar

    1. **JDBC驱动类型**:JDBC驱动分为四种类型,从JDBC-ODBC桥接驱动到纯Java的类型4驱动,每种类型的驱动都有其特点和适用场景。 2. **建立数据库连接**:通过`Class.forName()`加载驱动,使用`DriverManager.get...

    JDBC +MSSQL驱动

    **JDBC MSSQL驱动详解** Java Database Connectivity...理解并熟练运用JDBC API,以及正确配置和管理数据库连接,是开发任何Java数据库应用程序的基础。在实际开发中,我们应遵循最佳实践,确保代码的可维护性和性能。

    jdbc.rar_jdbc_jdbc系统

    总的来说,【jdbc.rar_jdbc_jdbc系统】提供的资源对于学习和理解如何在实际项目中运用JDBC技术具有很高的价值。通过研究这个系统的代码,我们可以深入理解JDBC的工作原理,掌握数据库操作的最佳实践,并提升我们的...

    Java面向对象程序设计JDBC数据库操作.ppt

    7. **JDBC与ODBC的区别**: - ODBC是C语言实现的API,不适于直接在Java中使用,而JDBC是纯Java实现,更适合Java环境。 - JDBC比ODBC更易于学习和使用,它提供了简单的功能和高级功能的平衡。 - JDBC-ODBC桥允许...

    sql server2008 jdbc驱动

    SQL Server 2008 JDBC驱动是用于Java应用程序与Microsoft SQL Server 2008数据库进行交互的一种关键组件。JDBC(Java Database Connectivity)是Java平台中的标准接口,它允许Java程序通过Java代码来访问和操作...

    JDBC.zip_jdbc系统

    通过分析代码,我们可以了解如何在实际项目中运用JDBC进行数据库操作。 6. **最佳实践** - 使用PreparedStatement以防止SQL注入攻击。 - 执行批量操作以提高性能。 - 使用try-with-resources语句自动关闭资源,...

    JDBC.rar_JDBC程序

    1. **JDBC驱动程序**:Java程序与数据库之间的桥梁,分为四种类型:1)JDBC-ODBC桥接驱动,2)本地API部分二进制驱动,3)网络协议纯Java驱动,4)Java数据库连接(JDBC)应用驱动。 2. **Connection对象**:代表与...

Global site tag (gtag.js) - Google Analytics