JDBC和ODBC的联系与区别

目录

ODBC是什么?

JDBC是什么?

JDBC和ODBC的联系

JDBC和ODBC的区别

JDBC的移植性比ODBC好

JDBC比ODBC容易理解容易使用

使用的语言不同

参考文档


ODBC是什么?

开放数据库连接(Open Database Connectivity,ODBC)是为解决异构数据库间的数据共享而产生的,现已成为WOSA(The Windows Open System Architecture ),Windows开放系统体系结构)的主要部分和基于Windows环境的一种数据库访问接口标准ODBC 为异构数据库访问提供统一接口,允许应用程序以SQL 为数据存取标准,存取不同DBMS管理的数据;使应用程序直接操纵DB中的数据,免除随DB的改变而改变。用ODBC 可以访问各类计算机上的DB文件,甚至访问如Excel 表和ASCI I数据文件这类非数据库对象。

早期的数据库开发领域没有通用的应用程序编程接口,开发人员在使用不同数据库产品时,必须学习和使用厂商专用API,例如Oracle Call Interface、Microsoft Database Library等。针对业界对通用编程接口的需求,微软推出了ODBC(Open Database Connectivity)方案,并获得厂商和开发人员的认可。ODBC建立了一组规范,并提供了对数据库访问的标准API,后来被X/OPEN和ISO/IEC采纳,作为SQL标准的一部分。

JDBC是什么?

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。

SUN参考了ODBC,为JAVA设计了专用的数据库连接规范JDBC(JAVA Database Connectivity)。JDBC期望的目标是让Java开发人员在编写数据库应用程序时,可以有统一的接口,无须依赖特定数据库API,达到“ 一次开发,适用所有数据库”。虽然实际开发中,经常会因为使用了数据库特定的语法、数据类型或函数等而无法达到目标,但JDBC的标准还是大大简化了开发工作。

JDBC标准主要分为两部分:面向应用开发人员的应用程序开发接口面向数据库驱动程序的开发者(通常是数据库厂商)接口。JDBC标准中,按操作方式把驱动程序分为四种类型。

JDBC和ODBC的联系

JDBC是SUN公司参考ODBC设计的,两者具有很多相似性。

JDBC和ODBC都是用来连接数据库的启动程序,JDBC和ODBC由于具有数据库独立性甚至平台无关性,因而对Internet上异构数据库的访问提供了很好的支持。

JDBC与ODBC都是基于X/Open的SQL调用级接口;从结构上来讲,JDBC的总体结构类似于ODBC,都有四个组件应用程序、驱动程序管理器、驱动程序和数据源,工作原理亦大体相同;在内容交互方面,JDBC保持了ODBC的基本特性,也独立于特定数据库。 而且都不是直接与数据库交互,而是通过驱动程序管理器。

JDBC和ODBC的区别

JDBC的移植性比ODBC好

通常情况下,安装完ODBC驱动程序之后,还需求经过确定的配置才能够应用。而不相同的配置在不相同数据库服务器之间不能够通用。也那是说,装一次需求配置一次。但是JDBC数据库驱动程序则不相同。假如采用JDBC数据库驱动程序的话,则只需要选取适当的 JDBC数据库驱动程序,就不需要额外的配置。在安装过程中,JDBC数据库驱动程序会自己完成有关的配置。为此JDBC的移植性要比ODBC要好。

JDBC比ODBC容易理解容易使用

使用的语言不同

JDBC在Java编程时使用,ODBC一般在C/C++编程时使用。ODBC不适合在Java中使用,Java要使用ODBC需要使用JDBC-ODBC桥接器,缺点较多,一般不使用,Java使用JDBC和厂家实现的驱动jar包实现访问数据库。

参考文档

https://baike.baidu.com/item/%E5%BC%80%E6%94%BE%E6%95%B0%E6%8D%AE%E5%BA%93%E4%BA%92%E8%BF%9E/10418782?fromtitle=ODBC&fromid=759553&fr=aladdin

https://baike.baidu.com/item/JDBC

https://blog.csdn.net/autfish/article/details/52170053

https://blog.csdn.net/u010926964/article/details/46389867

https://blog.csdn.net/qq_16691531/article/details/79482469

 

  • 9
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值