JDBC 驱动类型

jdbc 驱动类型

什么是jdbc驱动程序?jdbc 驱动程序实现了 jdbc api 中定义的接口,用于与数据库服务器进行交互。

例如,使用 jdbc 驱动程序可以打开数据库连接,并通过发送 sql 或数据库命令,然后在收到结果与 java 进行交互。

java.sql 包中附带的 jdk 包含定义各种类与他们的行为和实际实现在第三方驱动程序。第三方供应商实现了他们的数据库驱动程序的 java.sql.driver 接口。

jdbc 驱动程序的实现,因为操作系统 和 java 运行的硬件平台的不同而不同,共划分为四大类。

 

1. jdbc-odbc桥 驱动程序

jdbc 桥接器用来访问安装在每个客户机上的 odbc 驱动程序。使用 odbc,需要配置系统数据源名称(dsn),表示在目标数据库上。

当java 刚出来时,这是一个有用的驱动程序,因为大多数的数据库只支持 odbc 访问,但现在建议使用此类型的驱动程序仅用于实验用途或在没有其他选择的情况。

 

2. jdbc-native api 调用

jdbc api调用转换成原生的 c / c++ api 调用都有它独特的数据库。这些通常由数据库厂商提供,并以相同的方式将jdbc-odbc桥驱动程序使用,特定供应商的驱动程序必须安装在每台客户机上。

如果改变了数据库,那么必须改变本机 api,因为它是具体到一个数据库,他们大多是过时了,但现在可以实现一些速度增加了类型2驱动程序,因为它消除了数据库的开销。

oracle 调用接口(oci)驱动程序就是一个示例。

 

3. jdbc 网络纯 java

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

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

可以将应用服务器作为一个jdbc“代理”,这意味着它会调用客户端应用程序。因此,需要应用服务器的配置,以有效地使用此驱动程序类型的一些知识。

应用服务器可能使用类型1,2,或4驱动程序与数据库进行通信,了解细微之处将证明是有益的。

 

4. 100% 纯 java

直接与供应商的数据库进行通信,通过 socket连接一个纯粹的基于 java 的驱动程序。这是可用于数据库的最高性能的驱动程序,并且通常由供应商本身提供。

这种驱动器是非常灵活的,不需要在客户端或服务器上安装特殊的软件。

mysql 的 connector/j 的驱动程序是一个本类型的驱动程序。因为他们的网络协议的专有性的,数据库厂商通常提供本类型的驱动程序。

 

5. 四种驱动器的使用场景

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

如果正在访问一个类型的数据库,如oracle,sybase或ibm,首选驱动程序是类型4。

如果java应用程序同时访问多个数据库类型,类型3是首选的驱动程序。

第2类驱动程序是在情况下:类型3或类型4驱动程序还没有提供数据库非常有用。

相关文章