ODBC、JDBC和四种驱动类型

转载 2018年04月17日 09:46:46

转载自:ODBC、JDBC和四种驱动类型

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

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

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

Type 1: JDBC-ODBC Bridge Driver

SUN发布JDBC规范时,市场上可用的JDBC驱动程序并不多,但是已经逐渐成熟的ODBC方案使得通过ODBC驱动程序几乎可以连接所有类型的数据源。所以SUN发布了JDBC-ODBC的桥接驱动,利用现成的ODBC架构,将JDBC调用转换为ODBC调用,避免了JDBC无驱动可用的尴尬。

不过,由于桥接的限制,并非所有功能都能直接转换并正常调用,而多层调用转换对速度也有一定的影响,除非没有其他解决方案,否则不应采用桥接架构。


Type 2: Native API Driver

这类驱动程序会直接调用数据库提供的原生链接库或客户端,因为没有中间过程,访问速度通常表现良好。但是驱动程序与数据库和平台绑定,无法达到JDBC跨平台的基本目的。在JDBC规范中也是不被推荐的选择。


Type 3: JDBC-Net Driver

这类驱动程序会将JDBC调用转换为独立于数据库的协议,然后再通过特定的中间组件或服务器转换为数据库通信协议,主要目的是为了获得更好的架构灵活性。例如更换数据库时可通过更换中间组件实现。由非数据库厂商开发的Type 3驱动通常还提供额外的功能,例如高级安全特性等,但通过中间服务器转换也会对速度有一定影响。JDBC领域这种类型驱动并不常见,而微软的ADO.NET是这种架构的典型。


Type 4: Native Protocol Driver

这是最常见的驱动程序类型,我们开发中使用的驱动jar包基本都属于此类,通常由数据库厂商直接提供,例如mysql-connector-java,驱动程序把JDBC调用转换为数据库特定的网络通信协议。因为使用网络通信,驱动程序可以纯Java实现,支持跨平台部署,性能也较好。


     

JDBC视频教程

本套视频教程中讲解了Java语言如何连接数据库,对数据库中的数据进行增删改查操作,适合于已经学习过Java编程基础以及数据库的同学。Java教程中阐述了接口在开发中的真正作用,JDBC规范制定的背景,JDBC编程六部曲,JDBC事务,JDBC批处理,SQL注入,行级锁等,是学习JDBC最好的Java教程之一。
  • 2017年10月21日 16:18

JDBC驱动程序的四种类型

Java中的JDBC驱动可以分为四种类型,包括JDBC-ODBC桥、本地API驱动、网络协议驱动和本地协议驱动。 JDBC驱动类型一、JDBC-ODBC桥 JDBC-ODBC 桥 是sun...
  • xad707348125
  • xad707348125
  • 2015-04-10 20:10:17
  • 4855

JDBC的4种驱动类型

Java中的JDBC驱动可以分为四种类型,包括JDBC-ODBC桥、本地API驱动、网络协议驱动和本地协议驱动。...
  • u011983531
  • u011983531
  • 2016-03-03 11:34:01
  • 1848

关于四种JDBC驱动类型的区别

关于jdbc所说的/"1,2,3,4/" 实际上是指jdbc驱动的四种类型.本文将对jdbc driver 的四种类型以及不同类型的driver适合于哪种层次的应用做一个简单介绍, 如果你现在正准备开...
  • zhunj80
  • zhunj80
  • 2008-03-03 11:11:00
  • 2111

JDBC的四种连接方式

一:jdbc-odbc(jdbc-odbc桥)      Jdbc-odbc桥是sun公司提供的,是jdk提供的的标准api. 这种类型的驱动实际是把所有jdbc的调用传递给odbc ,再由o...
  • u013742253
  • u013742253
  • 2014-03-11 20:59:48
  • 1536

JDBC驱动程序的4种类型

1、JDBC框架JDBC(Java DataBase Connectivity)是Java与数据库的接口规范,由Java 语言编写的类和接口组成,大致分为两类:针对Java程序员的JDBC API和针...
  • kj021320
  • kj021320
  • 2006-08-06 15:37:00
  • 4837

使用JDBC和 JDBC-ODBC驱动连接数据库

1、    JDBC-ODBC  驱动  来访问SQLServer2008数据库      JDBC-ODBC访问数据库原理                   JSP程序-->J...
  • yue7603835
  • yue7603835
  • 2011-11-20 23:18:29
  • 5503

jdbc驱动的四种类型

Java中的JDBC驱动可以分为四种类型,包括JDBC-ODBC桥、本地API驱动、网络协议驱动和本地协议驱动。 JDBC驱动类型一、JDBC-ODBC桥 JDBC-ODBC 桥 是sun...
  • sun_Hmtl
  • sun_Hmtl
  • 2017-12-02 11:01:52
  • 66

加载JDBC-ODBC驱动器和连接数据库

各种数据库加载的时候总是记不住,所以就总结了三个。加载注册MySQL驱动器://加载mysql driver类 Class.forName("com.mysql.jdbc.Driver");//Cla...
  • Hackgr
  • Hackgr
  • 2016-08-08 19:32:17
  • 837

Java系列之JDBC和ODBC之间的区别与联系

JDBC简介 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,它是Java十三个规范之一。可以为多种关系数据库提供统一...
  • u010926964
  • u010926964
  • 2015-06-08 08:08:19
  • 18839
收藏助手
不良信息举报
您举报文章:ODBC、JDBC和四种驱动类型
举报原因:
原因补充:

(最多只允许输入30个字)