当前位置: 首页 > 文档资料 > JDBC API 中文教程 >

驱动程序类型(Driver Types)

优质
小牛编辑
132浏览
2023-12-01

什么是JDBC驱动程序?

JDBC驱动程序在JDBC API中实现已定义的接口,以便与数据库服务器进行交互。

例如,使用JDBC驱动程序可以打开数据库连接并通过发送SQL或数据库命令与之交互,然后使用Java接收结果。

随JDK一起提供的Java.sql包中包含各种类,其行为已定义,其实际实现在第三方驱动程序中完成。 第三方供应商在其数据库驱动程序中实现java.sql.Driver接口。

JDBC驱动程序类型

JDBC驱动程序的实现因Java运行的各种操作系统和硬件平台而异。 Sun将实现类型分为四类,类型1,2,3和4,下面将对此进行说明 -

类型1:JDBC-ODBC桥驱动程序

在Type 1驱动程序中,JDBC Bridge用于访问安装在每台客户端计算机上的ODBC驱动程序。 使用ODBC,需要在系统上配置代表目标数据库的数据源名称(DSN)。

当Java第一次出现时,这是一个有用的驱动程序,因为大多数数据库只支持ODBC访问,但现在推荐这种类型的驱动程序仅用于实验用途或没有其他替代方案可用。

DBMS驱动程序类型1

JDK 1.2附带的JDBC-ODBC Bridge就是这种驱动程序的一个很好的例子。

类型2:JDBC-Native API

在Type 2驱动程序中,JDBC API调用将转换为本机C/C ++ API调用,这些调用对于数据库是唯一的。 这些驱动程序通常由数据库供应商提供,并以与JDBC-ODBC Bridge相同的方式使用。 必须在每台客户端计算机上安装特定于供应商的驱动程序。

如果我们更改数据库,我们必须更改本机API,因为它特定于数据库并且它们现在已经过时,但您可能会通过类型2驱动程序实现一些速度提升,因为它消除了ODBC的开销。

DBMS驱动程序类型2

Oracle调用接口(OCI)驱动程序是Type 2驱动程序的示例。

类型3:JDBC-Net纯Java

在Type 3驱动程序中,使用三层方法来访问数据库。 JDBC客户端使用标准网络套接字与中间件应用程序服务器进行通信。 然后,套接字信息由中间件应用服务器转换为DBMS所需的调用格式,并转发到数据库服务器。

这种驱动程序非常灵活,因为它不需要在客户端上安装代码,并且单个驱动程序实际上可以提供对多个数据库的访问。

DBMS驱动程序类型3

您可以将应用程序服务器视为JDBC“代理”,这意味着它会调用客户端应用程序。 因此,您需要了解应用程序服务器的配置,以便有效地使用此驱动程序类型。

您的应用程序服务器可能使用类型1,2或4驱动程序与数据库通信,了解细微差别将证明是有帮助的。

Type 4:100%纯Java

在Type 4驱动程序中,纯Java驱动程序通过套接字连接直接与供应商的数据库通信。 这是数据库可用的最高性能驱动程序,通常由供应商自己提供。

这种驱动程序非常灵活,您无需在客户端或服务器上安装特殊软件。 此外,可以动态下载这些驱动程序。

DBMS驱动程序类型4

MySQL的Connector/J驱动程序是Type 4驱动程序。 由于其网络协议的专有性质,数据库供应商通常提供类型4驱动程序。

应该使用哪种驱动程序?

如果要访问某种类型的数据库(如Oracle,Sybase或IBM),则首选驱动程序类型为4。

如果Java应用程序同时访问多种类型的数据库,则键入3是首选驱动程序。

类型2驱动程序在数据库尚未提供类型3或类型4驱动程序的情况下非常有用。

类型1驱动程序不被视为部署级驱动程序,通常仅用于开发和测试目的。