`
easonfans
  • 浏览: 254162 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

详解JDBC驱动的四种类型

阅读更多

Java中的JDBC驱动可以分为四种类型,包括JDBC-ODBC桥、本地API驱动、网络协议驱动和本地协议驱动。

JDBC驱动类型一、JDBC-ODBC桥

JDBC-ODBC 桥 是sun公司提供的,是jdk提供的的标准API. 这种类型的驱动实际是把所有 JDBC的调用传递给ODBC ,再由ODBC调用本地数据库驱动代码.( 本地数据库驱动代码是指 由数据库厂商提供的数据库操作二进制代码库,例如在oracle for windows中就是oci dll 文 件)

只要本地机装有相关的ODBC驱动那么采用JDBC-ODBC桥几乎可以访问所有的数据库,JDBC- ODBC方法对于客户端已经具备ODBC driver的应用还是可行的.

但是,由于JDBC-ODBC先调用 ODBC再由ODBC去调用本地数据库接口访问数据库.所以,执行效率比较低,对于那些大数据量 存取的应用是不适合的.而且,这种方法要求客户端必须安装ODBC 驱动,所以对于基于 internet ,intranet的应用也是不合适的.因为,你不可能要求所有客户都能找到ODBC driver.

JDBC驱动类型二、本地API驱动

本地API驱动直接把JDBC调用转变为数据库的标准调用再去访问数据库.

这种方法需要本地 数据库驱动代码. 本地API驱动 | 厂商DB代码---------------数据库Server (图二) 这种驱动比起JDBC-ODBC桥执行效率大大提高了.但是,它仍然需要在客户端加载数据库厂商 提供的代码库.这样就不适合基于internet的应用.并且,他的执行效率比起3,4型的JDBC驱动 还是不够高.

JDBC驱动类型三、网络协议驱动

这种驱动实际上是根据我们熟悉的三层结构建立的. JDBC先把对数局库的访问请求传递给网 络上的中间件服务器. 中间件服务器再把请求翻译为符合数据库规范的调用,再把这种调用 传给数据库服务器.如果中间件服务器也是用java开法的,那么在在中间层也可以使用1,2型 JDBC驱动程序作为访问数据库的方法. 网络协议驱动---------中间件服务器------------数据库Server

由于这种驱动是基于server的.所以,它不需要在客户端加载数据库厂商提供的代码库.而且 他在执行效率和可升级性方面是比较好的.因为大部分功能实现都在server端,所以这种驱动 可以设计的很小,可以非常快速的加载到内存中. 但是,这种驱动在中间件层仍然需要有配置 其它数据库驱动程序,并且由于多了一个中间层传递数据,它的执行效率还不是最好.

JDBC驱动类型四、本地协议驱动

这种驱动直接把JDBC调用转换为符合相关数据库系统规范的请求.由于4型驱动写的应用可 以直接和数据库服务器通讯.这种类型的驱动完全由java实现,因此实现了平台独立性. 本地协议驱动---------数据库Server

由于这种驱动不需要先把JDBC的调用传给ODBC或本地数据库接口或者是中间层服务器.所 以它的执行效率是非常高的.而且,它根本不需要在客户端或服务器端装载任何的软件或驱动. 这种驱动程序可以动态的被下载.但是对于不同的数据库需要下载不同的驱动程序.

以上对四种类型的JDBC驱动做了一个说明.那么它们适合那种类型的应用开发呢?

JDBC-ODBC桥由于它的执行效率不高,更适合做为开发应用时的一种过度方案,或着对于初学 者了解JDBC编程也较适用. 对于那些需要大数据量操作的应用程序则应该考虑2,3,4型驱动.在intranet方面的应用可以 考虑2型驱动,但是由于3,4型驱动在执行效率上比2型驱动有着明显的优势,而且目前开发 的趋势是使用纯java.所以3,4型驱动也可以作为考虑对象. 至于基于internet方面的应用就只有考虑3,4型驱动了. 因为3型驱动可以把多种数据库驱 动都配置在中间层服务器.所以3型驱动最适合那种需要同时连接多个不同种类的数据库, 并且对并发连接要求高的应用. 4型驱动则适合那些连接单一数据库的工作组应用。

来源:http://developer.51cto.com/art/200907/134922.htm

分享到:
评论

相关推荐

    JDBC详解 JDBC详解

    JDBC详解将详细介绍JDBC的管理层、驱动程序、连接建立和数据库操作等方面的知识点。 JDBC管理层 JDBC的管理层是 DriverManager 类,它跟踪可用的驱动程序,并在数据库和相应驱动程序之间建立连接。DriverManager ...

    Oracle 12C JDBC驱动 jar包 各版本驱动详解

    Oracle 12C JDBC驱动是Oracle数据库与Java应用程序之间的桥梁,使得Java开发者能够通过编写Java代码来访问和操作Oracle数据库。在Oracle 12C中,JDBC驱动主要有两个版本:ojdbc8.jar和ojdbc.jar。这两个版本的驱动...

    神州通用数据库JDBC驱动和手册

    《神通通用数据库JDBC驱动与手册详解》 神通通用数据库是一款在中国广泛应用的数据库管理系统,它提供了高效、稳定的数据存储和处理能力。在Java应用程序中,我们通常会利用Java Database Connectivity(JDBC)技术...

    sqlserver2005 JDBC驱动程序JAR包

    JDBC驱动程序主要分为四种类型:Type 1、Type 2、Type 3和Type 4。SQLServer2005 JDBC驱动程序属于Type 4,即纯Java驱动,无需任何本地库或中间层。这使得它能够在任何支持Java的平台上运行,包括Windows。 **驱动...

    达梦数据库jdbc驱动文件大全,内涵6,7,8三个版本

    JDBC驱动分为四种类型:Type 1、Type 2、Type 3和Type 4。达梦数据库的JDBC驱动通常是Type 4,即纯Java实现的网络驱动,提供与数据库的直接连接,无需依赖特定的数据库客户端库。 2. 达梦数据库JDBC驱动版本详解: ...

    informix-jdbc各版本驱动包合集.zip

    《Informix JDBC驱动详解及其版本对比》 Informix是一款高效且功能强大的关系型数据库管理系统,广泛应用于企业级数据存储和管理。与Java编程语言的交互是通过Java Database Connectivity(JDBC)驱动程序实现的。...

    常用的JDBC驱动名字

    根据连接数据库的方式不同,JDBC驱动分为四种类型: 1. **基本JDBC-ODBC桥接驱动**:这是一种基于ODBC的驱动,它不是纯Java实现的。 2. **部分Java驱动**:这种驱动需要本地代码与Java交互,提供了一些Java功能,但...

    最新sqlser2000 jdbc驱动

    JDBC驱动分为四种类型: - 类型1: JDBC-ODBC桥接驱动,依赖于ODBC驱动。 - 类型2: 部分Java实现,依赖于数据库供应商的本地库。 - 类型3: 完全基于Java,但不直接与数据库交互,而是通过中间服务器(如数据库...

    JDBC 驱动 for access

    JDBC驱动主要有四种类型: - Type 1:纯Java实现,通过ODBC桥连接到数据库,适用于不同平台。 - Type 2:混合型,部分用Java,部分用C,通过ODBC驱动连接数据库。 - Type 3:完全基于Java的网络协议,直接与数据库...

    informix JDBC驱动

    Informix提供了两种类型的JDBC驱动:Type 2和Type 4。Type 2驱动是一个部分Java、部分本地代码的驱动,它依赖于数据库特定的Native Access (NA) 库。这种驱动适用于那些需要利用数据库特定功能的情况,但可能需要...

    JDBC驱动下载汇总

    ### JDBC驱动下载与配置详解 在Java开发领域,JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。本文将详细介绍...

    JDBC +MSSQL驱动

    - JDBC驱动有四种类型:JDBC-ODBC桥接驱动、网络协议驱动、JDBC类型4驱动(纯Java驱动)和JDBC类型2/3驱动。 - 对于MSSQL,推荐使用JDBC类型4驱动(如`com.microsoft.sqlserver.jdbc.SQLServerDriver`),因为它是...

    MSSQL-jdbc驱动

    JDBC驱动通常有四种类型:Type 1、Type 2、Type 3 和 Type 4。MSSQL-jdbc驱动属于Type 4,这是一种纯Java实现的驱动,无需依赖于数据库供应商提供的本地库。这意味着它可以在任何支持Java的平台上运行,提供跨平台的...

    达梦各个版本jdbc驱动:DmJdbcDriver.7z

    本压缩包"达梦各个版本jdbc驱动:DmJdbcDriver.7z"提供了不同版本的DmJdbcDriver,适用于不同版本的达梦数据库系统,以满足多样化的开发需求。 1. **JDBC驱动简介**: JDBC是Java平台的标准接口,它允许Java应用...

    kingbase 低版本jdbc驱动包.zip

    标题中的"kingbase 低版本jdbc驱动包.zip"指的是针对Kingbase 数据库的一个早期版本的JDBC驱动程序的压缩包。JDBC驱动包包含了实现JDBC接口的类和方法,使得Java程序能够连接到Kingbase 数据库并执行SQL语句。这个...

    sql server jdbc 驱动 2.0

    而SQL Server JDBC驱动则是实现了这些接口和类的具体实现,专为连接SQL Server设计。 SQL Server JDBC Driver 2.0版本发布于2009年,是该驱动的重要里程碑。它引入了多项新特性,提升了性能和兼容性,以下是其中的...

    jdbc驱动jar包

    主要有四种类型的JDBC驱动: 1. **JDBC-ODBC桥接驱动**:它依赖于系统安装的ODBC(Open Database Connectivity)驱动,适合于多种数据库,但效率较低。 2. **本地协议驱动**:如IBM的DB2 JDBC驱动,直接与数据库...

    JDBC驱动包,Dm7JdbcDriver17.jar。

    **JDBC驱动包详解** **一、JDBC驱动概述** JDBC(Java Database Connectivity)是Java语言中用来规范客户端程序如何访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。它允许Java应用程序通过...

    EclipseJDBC 驱动程序设置

    本文将以Eclipse 3.2版本为例,详细介绍如何在Eclipse中设置和测试Oracle和SQL Server的JDBC驱动程序,并提供故障排查指导。 #### 一、下载并准备JDBC驱动程序 ##### 1. Oracle JDBC驱动程序下载与安装 - **下载...

    JDBC驱动 for oracle9i-9.2.0.1

    在Oracle9i 9.2.0.1这个特定版本中,JDBC驱动分为几种类型: 1. **JDBC Thin Driver (Oracle JDBC Thin)**:这是一个轻量级的纯Java驱动,不需要Oracle客户端软件。它直接通过TCP/IP协议与数据库服务器通信,适用于...

Global site tag (gtag.js) - Google Analytics