JDBC 驱动程序有多少种类型?
JDBC 驱动程序有 4 种类型,即类型 1、类型 2、类型 3 和类型 4。
类型 1
它是 ODBC − JDBC 桥接驱动程序,它充当 JDBC 和 ODBC 数据库连接机制之间的桥梁。使用它,您可以访问仅支持 ODBC 的数据库。最初,它被广泛使用,因为大多数数据库仅支持 ODBC。
每当 Java 应用程序向 JDBC-ODBC 桥接驱动程序发送请求时,该请求都会在内部调用 ODBC 等效函数,ODBC 驱动程序会从底层数据库检索结果并将其发送回 JDBC-ODBC 桥接驱动程序。
type1 驱动程序的优点
以下是 type1 驱动程序的优点。
使用此单个驱动程序,您可以访问不同的数据源。
您可以使用此驱动程序访问所有支持 ODBC 的数据库。
type1 驱动程序的缺点
以下是 type1 驱动程序的缺点。
Java 应用程序的 (JDBC) 请求将转换为 ODBC,进而转换为本机数据库调用。
当我们使用此驱动程序时,Java 应用程序将间接依赖于 ODBC 驱动程序。
使用 JDBC-ODBC 驱动程序时,您需要在每个客户端上安装 ODBC 二进制代码。
Type2
Type 2 驱动程序称为本机 API 驱动程序。此驱动程序接收来自 Java 应用程序的调用并将其转换为特定于供应商的本机 API 调用。在这里,我们需要在客户端机器上安装特定于供应商的驱动程序。
如果我们更改数据库,我们必须更改本机 API,因为它特定于数据库,并且它们现在大多已过时,但您可能会发现使用 Type 2 驱动程序会提高速度,因为它消除了 ODBC 的开销。
type2 驱动程序的优点
以下是 type2 驱动程序的优点
这种类型的驱动程序是 4 种驱动程序中速度最快的。
如果我们使用此驱动程序,我们还可以访问数据库供应商提供的功能。
type2 驱动程序的缺点
以下是 type2 驱动程序的缺点。
在客户端计算机上,Java 应用程序调用被转换为特定于供应商的数据库调用。因此,我们必须在客户端机器上安装本机库。
由于本机函数是在客户端机器上执行的,因此执行过程中的一个小错误都可能导致严重损害。
此驱动程序会造成更多成本。
Type3
在 Type 3 驱动程序中,使用三层方法来访问数据库。JDBC 客户端使用标准网络套接字与中间件应用服务器通信。然后,中间件应用服务器将套接字信息转换为 DBMS 所需的调用格式,并转发到数据库服务器。
这种驱动程序非常灵活,因为它不需要在客户端上安装任何代码,单个驱动程序实际上可以提供对多个数据库的访问。您可以将应用服务器视为 JDBC"代理",这意味着它会为客户端应用程序发出调用。因此,您需要了解一些应用服务器的配置,才能有效地使用此驱动程序类型。
您的应用服务器可能使用类型 1、2 或 4 驱动程序与数据库通信,了解其中的细微差别将会很有帮助。
type3 驱动程序的优点
以下是 type3 驱动程序的优点。
此驱动程序可视为纯 Java 驱动程序。
与 type1 和 type2 驱动程序不同,无需在客户端计算机上安装本机库。
您可以使用此驱动程序访问多个数据库。
无需更改客户端中的类,您就可以从一个数据库切换到另一个数据库。
type3 驱动程序的缺点
以下是 type3 驱动程序的缺点。
如果网络调用增加,通信速度会变慢。
当我们使用此驱动程序时,Java 应用程序将依赖于 ODBC 驱动程序间接地。
使用 JDBC-ODBC 驱动程序时,您需要在每个客户端上安装 ODBC 二进制代码。
与其他驱动程序相比,这更昂贵。
Type4
Type 4 驱动程序是纯 Java 驱动程序。它实现了特定于数据库的协议,可直接与数据库通信。此驱动程序由供应商自己提供,与其他驱动程序相比,这是一种灵活的驱动程序。
type4 驱动程序的优点
以下是 type4 驱动程序的优点。
它纯粹用 Java 开发,是独立于平台的驱动程序。
与 type-1 驱动程序不同,无需安装 OCI、ODBC 函数。
使用此驱动程序时不需要中间件服务器。
type4 驱动程序的缺点
以下是 type4 驱动程序的缺点。
Type-4 驱动程序在内部使用特定于数据库的专有协议,并且依赖于数据库。因此,每当数据库发生变化时,我们都需要相应地更改驱动程序。