赛捷软件论坛's Archiver

erina.pan 发表于 2018-8-13 14:05

JDBC与ODBC的区别与应用

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

AD:

谈到JDBC与ODBC的区别,JDBC和ODBC其实都是用来连接数据库的启动程序。ODBC中文名字叫做开放数据库互联,是微软技术人员开发的开放服务结构中有关数据库的一个组成部分,它建立一组相关的规范,并提供了一组对数据库访问的标准应用程序编程接口。简单的说,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主要在操作上、友好性上做了一定的改进。

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.