中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> IBM专区 > DB2 > Java 技术
JDBC,详解
作者:佚名 时间:2005-08-31 11:29 出处:互连网 责编:小渔
              摘要:JDBC,详解

级别: 中级

Jeff Norton
Windy City Linux 用户组主席以及 PDA Group 的技术总监
2003 年 3 月

IBM DB2 Developer Domain site

经 DB2 Magazine许可重印。

当今开发人员寻找可伸缩、安全和灵活的解决方案以紧跟日新月异的因特网。这就是有那么多开发人员使用 Java 的原因。Java 的灵活性为您提供了几种与数据库连接和交互的方法。在本文中,我将概述其中一种方法:开发针对 DB 2 使用 Java 数据库连接(JDBC)API 的 Java 应用程序和 applet。

了解 JDBC
Microsoft 的开放式数据库连接(Open Database Connectivity (ODBC))和 JDBC 都基于 X/Open SQL 调用层接口规范。ODBC 有一个主要缺点:它依赖于多次使用空指针(void pointer)以及其它 C 功能,这些不是 Java 固有的。

JDBC(一种与供应商无关的动态 SQL 接口)使您可以从标准化 Java 编程语言虚拟访问任何表格式数据源。JDBC 程序与 DB2 CLI 的相似之处在于您不必预编译或绑定一个 JDBC 程序。JDBC 提供到多种 SQL 数据库的跨 DBMS 连接以及提供对其它表格式数据源(例如,电子表格或平面文件)的访问。由于 JDBC 应用程序采用与供应商无关的标准,所以提高了它们的可移植性。

JDBC 接口可以让您为异构环境中的应用程序编写代码。

图 1. JDBC 到数据库的通信路径
JDBC 到数据库的通信路径

JDBC 由两层构成(请参见图 1)。第一层称为 JDBC API,其任务是将 SQL 命令传达到称为 JDBC 管理器驱动程序 API 的第二层。该管理器应该与各种实际连接到数据库的第三方驱动程序通信,然后返回查询信息或者执行由查询指定的操作。

在开发跨因特网运行的应用程序时,JDBC 特别有用。可以使用 Java,通过 JDBC API 与使用标准网络连接的数据库进行连接。还可以创建 JDBC 存储过程,这些存储过程驻留在服务器上,可以使用简单的编程调用来执行,并且它们通过因特网或任何其它网络连接将信息返回给客户机。

Java 代码将 SQL 语句作为函数调用传递给 DB2 JDBC 驱动程序。然后,驱动程序处理来自客户机 Java 代码的 JDBC API 调用。

因为 Java 的可移植性,所以只要考虑客户机处理 Java 应用程序的能力。几乎现在所有的 Web 浏览器都支持 Java 并且能处理 Java 应用程序。

Java 可以使您创建称为 applet 的小的、字节大小的代码。applet 是可以被嵌入 HTML 页面中的一种小 Java 程序。applet 由浏览器的 Java 虚拟机(JVM)执行。在 DB2 中,applet 不需要 DB2 客户机连接。当打开一个带有嵌入 Java applet 的 HTML 文档时,浏览器将把 applet 与 Java 类文件以及 DB2 的 JDBC 驱动程序一起下载到客户机。然后 DB2 JDBC 将发出一个命令,通过 JDBC applet 服务器建立到 DB2 数据库的单独网络连接。

图 2. JDBC applet 驱动程序
JDBC applet 驱动程序

图 2 说明了 JDBC applet 驱动程序(也称为网络驱动程序)是如何工作的。这个驱动程序由一个 JDBC 客户机和一个 JDBC 服务器 db2jd 构成。JDBC 客户机驱动程序与 applet 一起装载在 Web 浏览器上。当 applet 请求连接 DB2 数据库时,客户机打开至 JDBC 服务器的 TCP/IP 套接字,该 JDBC 服务器运行在正在运行 Web 服务器的机器上。建立连接后,客户机通过 TCP/IP 连接从 applet 将每个后续数据库访问请求发送给 JDBC 服务器。然后,JDBC 服务器进行相应的 CLI(ODBC)调用以执行任务。一旦完成,JDBC 服务器通过连接将结果发送回客户机。

SQLJ applet 只是在 JDBC 客户机驱动程序上面添加了 SQLJ 客户机驱动程序,其它与 JDBC applet 工作机制完全一样。

图 3. DB2 JDBC 应用程序
DB2 JDBC 应用程序

图 3 说明了 DB2 JDBC 应用程序是如何工作的。可以将 DB2 JDBC 应用程序视为 DB2 CLI 应用程序,只不过用 Java 编写。通过 Java 本机方法将对 JDBC 的调用转换成对 DB2 CLI 的调用。JDBC 请求通过 DB2 CLI 从 DB2 客户机流到 DB2 服务器。

SQLJ 应用程序使用这一 JDBC 支持,但是在预编译和绑定阶段,它们还需要 SQLJ 运行时类以认证和执行绑定到数据库的任何 SQL 包。

JDBC API 让您可以编写对数据库进行动态 SQL 调用的 Java 程序。SQLJ 应用程序使用 JDBC 作为连接数据库和处理 SQL 错误这一类任务的基础,但是它们还可以在 SQLJ 源文件中包含嵌入式静态 SQL 语句。在能够编译结果 Java 源代码之前,必须使用 SQLJ 转换程序来转换 SQLJ 源文件。那样,将可以从原始 JDBC 平滑地转换到 Java。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有