JDBC 的定义及产品组件

JDBC 可以执行 SQL 语句,它有安全、易用的特征,可以很好地与数据库连接进行编程。本文介绍 JDBC 的定义和产品组件。

JDBC的定义

JDBC 是一种可用于执行 SQL 语句的 JavaAPI。它由 Java 语言编写的一些类和界面组成。JDBC 为数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯 Java 语言编写完整的数据库应用程序。

通过使用 JDBC,开发人员可以很方便地将 SQL 语句传送给几乎任何一种数据库。也就是说,开发人员可以不必写一个程序访问 Sybase,写另一个程序访问 Oracle,再写一个程序访问 Microsoft 的 SQL Server。不但如此,使用 Java 编写的应用程序可以在任何支持 Java 的平台上运行,而不必在不同的平台上编写不同的应用。

JDBC 是一种底层 API,这意味着它将直接调用 SQL 命令。JDBC 完全胜任这个任务,而且比其他数据库互联更加容易实现。同时它也是构造高层 API 和数据库开发工具的基础。高层 API 和数据库开发工具应该是用户界面更加友好,使用更加方便,更易于理解的。但所有这样的 API 将最终被翻译为类似 JDBC 这样的底层 API。

JDBC 还扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库,企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、Macintosh 和 UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用 Java 编程语言,对从 Java 中便捷地访问数据库的需求也在日益增加。

JDBC的产品组件

JavaSoft 提供了三种 JDBC 产品组件,即 Java 开发工具包(JDK)的组成部分:JDBC 驱动程序管理器、JDBC 驱动程序测试工具包和 JDBC-ODBC 桥。
  • JDBC 驱动程序管理器是 JDBC 体系结构的支柱。它实际上很小,也很简单;其主要作用是把 Java 应用程序连接到正确的 JDBC 驱动程序上,然后即退出。
  • JDBC 驱动程序测试工具包为使用 JDBC 驱动程序运行提供了一定的可信度。只有通过 JDBC 驱动程序测试的驱动程序才被认为是符合 JDBC 标准。
  • JDBC-ODBC 桥使 ODBC 驱动程序可被用作 JDBC 驱动程序。它的实现为 JDBC 的快速发展提供了一条途径,其长远目标是提供一种访问某些不常见的 DBMS(如果对这些不常见的 DBMS 未实现 JDBC)的方法。

JDBC 驱动程序可分为以下四个种类型:

1. JDBC-ODBC 桥加 ODBC 驱动程序。

JavaSoft 桥产品利用 ODBC 驱动程序提供 JDBC 访问。注意,必须将 ODBC 二进制代码(许多情况下还包括数据库客户机代码)加载到使用该驱动程序的每个客户机上。因此,这种类型的驱动程序比较适合于企业网,或者是用 Java 编写的三层结构的应用程序服务器代码。

2. 本地 API。

这种类型的驱动程序把客户机 API 上的 JDBC 调用转换为 Oracle、Sybase、Informix、DB2 或其他 DBMS 的调用。注意,与桥驱动程序类似,这种类型的驱动程序要求将某些二进制代码加载到每台客户机上。

3. JDBC 网络纯 Java 驱动程序。

这种驱动程序将 JDBC 转换为与 DBMS 无关的网络协议,之后这种协议又被某个服务器转换为一种 DBMS 协议。这种网络服务器中间件能够将它的纯 Java 客户机连接到多种不同的数据库上,所用的具体协议取决于提供者。通常,这是最为灵活的 JDBC 驱动程序。有可能所有这种解决方案的提供者都只提供适合于 Intranet 的产品。为了使这些产品也支持 Internet 访问,它们必须处理 Web 所提出的安全性、通过防火墙的访问等方面的额外要求。目前有几家提供者正将 IDBC 驱动程序加到他们现有的数据库中间件产品中。

4. 本地协议纯 Java 驱动程序。

这种类型的驱动程序将 JDBC 调用直接转换为 DBMS 所使用的网络协议。这将允许从客户机上直接调用 DBMS 服务器,是 Intranet 访问的一个很实用的解决方法。

据专家预计第 3、4 类驱动程序将成为从 JDBC 访问数据库的首选方法。第 1、2 类驱动程序在直接的纯 Java 驱动程序还没有上市前会作为过渡方案来使用。

对第 1、2 类驱动程序可能会有一些变种,这些变种要求有连接器,但通常这些是更加不可取的解决方案。第 3、4 类驱动程序提供了 Java 的所有优点,包括自动安装(例如,通过使用 JDBC 驱动程序的 applet 来下载该驱动程序)。