﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-Littlebug's Blog</title><link>http://www.blogjava.net/littlebug/</link><description>Simple and Effective</description><language>zh-cn</language><lastBuildDate>Mon, 13 Apr 2026 08:54:15 GMT</lastBuildDate><pubDate>Mon, 13 Apr 2026 08:54:15 GMT</pubDate><ttl>60</ttl><item><title>JDBC3.0 Specification翻译，第四章</title><link>http://www.blogjava.net/littlebug/archive/2007/05/22/119224.html</link><dc:creator>LittleBug</dc:creator><author>LittleBug</author><pubDate>Tue, 22 May 2007 13:18:00 GMT</pubDate><guid>http://www.blogjava.net/littlebug/archive/2007/05/22/119224.html</guid><wfw:comment>http://www.blogjava.net/littlebug/comments/119224.html</wfw:comment><comments>http://www.blogjava.net/littlebug/archive/2007/05/22/119224.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/littlebug/comments/commentRss/119224.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/littlebug/services/trackbacks/119224.html</trackback:ping><description><![CDATA[
<p align="center" style="text-align: center; text-indent: -84pt; margin-left: 84pt;"><strong><span style="font-size: 21pt;">第四章&nbsp;&nbsp;&nbsp; 概述</span></strong></p>
<p style="text-indent: 21pt;"><span>JDBC</span><span>应用程序接口为</span><span>Java</span><span>编程语言访问一个或多个数据源提供了一种途径。在大多数情况下，数据源是用</span><span>SQL</span><span>访问的关系数据库管理系统。尽管如此，支持</span><span>JDBC</span><span>技术的驱动程序也可以访问其他的数据源，包括遗留文件系统</span><span>(legacy file systems)</span><span>和面向对象的系统。</span><span>JDBC</span><span>应用程序接口的一个主要动机就是为应用程序可以访问广泛的数据源提供标准的应用程序接口</span><span>(API)</span><span>。</span></p>
<p style="text-indent: 21pt;"><span>这一章介绍了一些</span><span>JDBC</span><span>应用程序接口的关键概念。除此之外，还描述了</span><span>JDBC</span><span>应用程序的两种运行环境，以及讨论了不同的功能角色在每个运行环境中是怎样被实现的。两层和三层逻辑结构能够在大量的物理结构上被实现。</span></p>
<p><span><strong><span style="font-size: 15pt;">4.1建立一个连接</span></strong></span><span></span><strong><span style="font-size: 15pt;"></span></strong></p>
<p style="text-indent: 21pt;"><span>JDBC</span><span>应用程序接口定义了</span><span>Connection</span><span>接口来表示一个到潜在数据源的连接。</span></p>
<p style="text-indent: 21pt;"><span>在典型情况下，</span><span>JDBC</span><span>应用程序会用两种方式中的一种来连接到目标数据源：</span></p>
<p style="text-indent: -21pt; margin-left: 57pt;"><span>&#9632;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>DriverManager </span><span>&#8212;&#8212;</span> <span>这个被充分实现的类在最初的</span><span>JDBC1.0</span><span>应用程序接口中介绍过，它需要应用程序装载一个特定的驱动，这一驱动使用硬编码的统一资源定位器</span><span>(URL)</span><span>。</span></p>
<p style="text-indent: -21pt; margin-left: 57pt;"><span>&#9632;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>DataSource </span><span>&#8212;&#8212;</span> <span>这个接口在</span><span>JDBC2.0</span><span>可选包应用程序接口</span><span>(Optional Package API)</span><span>中介绍过。与</span><span>DriverManager</span><span>相比它被作为首选，因为他允许潜在数据源的细节对应用程序透明。一个</span><span>DataSource</span><span>对象的属性被设置以后可以表示一个特定的数据源。当它的</span><span>getConnection</span><span>方法被调用以后，</span><span>Datasource</span><span>的实例将会返回一个到数据源的连接。应用程序可以通过改变</span><span>Datasource</span><span>对象的属性来连接到不同的数据源，而不需要改变应用程序的代码。同样的，一个</span><span>DataSource</span><span>可以在不改变使用它的应用程序的代码的前提下被改变。</span></p>
<p style="text-indent: 21pt;"><span>JDBC</span><span>应用程序接口还定义了</span><span>DataSource</span><span>接口的两个重要扩展来支持企业级的应用程序。这些扩展就是以下的两个接口：</span></p>
<p style="text-indent: -21pt; margin-left: 57pt;"><span>&#9632;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>ConnectionPoolDataSource </span><span>&#8212;&#8212;</span> <span>支持物理连接高速缓冲和重用，物理连接改善了应用程序的性能和可伸缩性。</span></p>
<p style="text-indent: -21pt; margin-left: 57pt;"><span>&#9632;<span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>XADataSource </span><span>&#8212;&#8212;</span> <span>提供了在分布式事务中可共享的连接。</span></p>
<p><span><strong><span style="font-size: 15pt;"></span></strong></span><span><strong><span style="font-size: 15pt;">4.2执行SQL</span></strong></span><span><strong><span style="font-size: 15pt;">表达式以及操作结果集</span></strong></span><span></span><strong><span style="font-size: 15pt;"></span></strong></p>
<p style="text-indent: 21.75pt;"><span>一旦一个连接被建立，那么使用这个连接的应用程序就可以用</span><span>JDBC</span><span>应用程序接口对目标数据源进行查询和更新。</span><span>JDBC3.0</span><span>应用程序接口提供了对大多数实现了的</span><span>SQL99</span><span>特性的支持。因为不同的厂商都在不同的级别支持这些特性，而</span><span>JDBC</span><span>应用程序接口则包括了</span><span>DatabaseMetadata</span><span>接口。应用程序能够使用此接口来确定它们使用的数据源是否支持某一特性。</span><span>JDBC</span><span>应用程序接口还定义了转义语法使得应用程序可以访问非标准的厂商定义的特性。转义语法的优点是可以使得</span><span>JDBC</span><span>应用程序能够像本地应用程序一样访问相同的特性，而同时又能够保证应用程序的可移植性。</span></p>
<p style="text-indent: 21.75pt;"><span>应用程序使用</span><span>Connection</span><span>接口中的方法来定义事务的属性和创建</span><span>Statement</span><span>，</span><span>PreparedStatement</span><span>和</span><span>CallableStatement</span><span>对象。这些表达式被用来执行</span><span>SQL</span><span>表达式和检索结果集。</span><span>ResultSet</span><span>接口封装</span><span>SQL</span><span>的查询结果。表达式也可以被批量执行，即允许应用程序向数据源提交多条更新语句作为执行的单个单元。</span></p>
<p style="text-indent: 21.75pt;"><span>JDBC</span><span>应用程序接口用</span><span>RowSet</span><span>接口扩展了</span><span>ResultSet</span><span>接口，从而为列表数据提供了一个容器，而这样比标准结果集更加通用。一个</span><span>Rowset</span><span>对象是一个</span><span>JavaBeans&#8482;</span><span>组件，它可以在没有连接到数据源的情况下对它进行操作。例如，一个</span><span>RowSet</span><span>可以被串行化，因此也可以在网络之间被传输，这对那些想不需要</span><span>JDBC</span><span>驱动和数据源连接而对表格数据进行操作的小型客户端是非常有用的。</span><span>RowSet</span><span>的另一个特性是能够包含一个阅读器来访问任意表格形式的数据，而不仅仅是关系数据库中的数据。更进一步的，一个</span><span>RowSet</span><span>对象可以在当它与数据源失去连接的时候更新它的行。它可以包含一个记录器，把那些更新写回到潜在的数据源。</span></p>
<p><st1:chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False"><span><strong><span style="font-size: 12pt;">4.2.1<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></strong></span></st1:chsdate><span><strong><span style="font-size: 12pt;">支持</span></strong></span><span><strong><span style="font-size: 12pt;">SQL</span></strong></span><span><strong><span style="font-size: 12pt;">高级数据类型</span></strong></span><span></span><strong><span style="font-size: 12pt;"></span></strong></p>
<p style="text-indent: 21pt;"><span>JDBC</span><span>应用程序接口定义了标准的从</span><span>SQL</span><span>数据类型到</span><span>JDBC</span><span>数据类型的映射。这包括对</span><span>SQL99</span><span>高级数据类型的支持，诸如</span><span>BLOB</span><span>，</span><span>CLOB</span><span>，</span><span>ARRAY</span><span>，</span><span>REF</span><span>，</span><span>STRUCT</span><span>和</span><span>DISTINCT</span><span>。</span><span>JDBC</span><span>驱动也可以为用户定义类型（</span><span>UDTs</span><span>）实现一个或多个自定义类型映射。在这个映射中，用户定义类型（</span><span>UDT</span><span>）被映射到一个</span><span>Java</span><span>类中。</span><span>JDBC3.0</span><span>应用程序接口还添加了对外部数据管理的支持，例如一个在数据源外部的文件中的数据。</span></p>
<p><span><strong><span style="font-size: 15pt;">4.3两层结构模型</span></strong></span><span></span><strong><span style="font-size: 15pt;"></span></strong></p>
<p style="text-indent: 21pt;"><span>一个两层结构模型按功能可以被划分为客户端层和服务器层，见图</span><span>4-1</span><span>。</span></p>
<div align="center" class="blogimg" small="0"><img width="300" height="278" alt="" src="http://www.blogjava.net/images/blogjava_net/littlebug/2.jpg" border="0" /><br /><br /></div>
<p class="blogimg" style="text-align: center; text-indent: 21pt;" small="0"><span>图</span><span>4-1<span> </span></span><span>两层结构模型</span></p>
<p style="text-indent: 21pt;"><span>客户端层包括了应用程序和一个或多个</span><span>JDBC</span><span>驱动，应用程序负责对以下职责进行处理：</span></p>
<p style="text-indent: -21pt; margin-left: 57pt;"><span>&#9632;<span></span></span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>表现层逻辑</span></p>
<p style="text-indent: -21pt; margin-left: 57pt;"><span>&#9632;<span></span></span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>业务逻辑</span></p>
<p style="text-indent: -21pt; margin-left: 57pt;"><span>&#9632;<span></span></span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>对多重事务和分布式事务的管理</span></p>
<p style="text-indent: -21pt; margin-left: 57pt;"><span>&#9632;<span></span></span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>资源管理</span></p>
<p style="text-indent: 21pt;"><span>在这个模型中，应用程序直接与</span><span>JDBC</span><span>驱动交互，包括建立和管理物理连接以及处理潜在的特定的数据源的细节。应用程序可以采用特殊的实现采用不标准的特性或性能调整的优点。</span></p>
<p style="text-indent: 21pt;"><span>这个模型的一些缺点包括：</span></p>
<p style="text-indent: -21pt; margin-left: 57pt;"><span>&#9632;<span></span></span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>伴随着基础结构和系统级的功能使得表现层逻辑和业务层逻辑不能分离。这就为使用一个好的体系结构来编写可维护性好的产品代码带来了困难。</span></p>
<p style="text-indent: -21pt; margin-left: 57pt;"><span>&#9632;<span></span></span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; </span><span>因为采用了特定的数据库实现，降低了应用程序的可移植性。而那些要求连接到多个数据库的应用程序必须知道不同厂商的数据库之间的差异。</span></p>
<p style="text-indent: -21pt; margin-left: 57pt;"><span>&#9632;<span></span></span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>限制了可伸缩性。通常地，应用程序在结束之前将保持一个或多个到数据库的物理连接，这样就限制了它支持并发应用程序的数量。在这个模型中，性能，可伸缩性和可用性受到</span><span>JDBC</span><span>驱动和相应的数据源的限制。如果一个应用程序采用了多个驱动，它也可能需要知道每种驱动和数据源解决这些限制的不同方法。</span></p>
<p><span><strong><span style="font-size: 15pt;">4.4三层结构模型</span></strong></span><span></span><strong><span style="font-size: 15pt;"></span></strong></p>
<span>
<p style="text-indent: 21pt;"><span>三层模型结构为业务逻辑和基础结构引入了中间层服务器，见图</span><span>4-2</span><span>：</span></p>
<p style="text-indent: 21pt;"><br /><span></span></p>
<div align="center" forimg="1"><img width="556" height="422" alt="" src="http://www.blogjava.net/images/blogjava_net/littlebug/3.jpg" border="0" /></div>
</span>
<p>&nbsp;</p>
<p style="text-indent: 21pt;"></p>
<p align="center" style="text-align: center; text-indent: 21pt;"><span>图</span><span>4-2<span> </span></span><span>三层结构模型</span></p>
<p style="text-indent: 21pt;"><span>这个体系结构被设计来为企业级的应用程序提高性能，可伸缩性和可用性。三个层的功能分别为：</span></p>
<p style="text-indent: -42.75pt; margin-left: 84.75pt;"><strong><span style="font-size: 12pt;"><span>1、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong><strong><span style="font-size: 12pt;">客户端层</span></strong><strong><span style="font-size: 12pt;"> </span></strong><span>&#8212;&#8212;</span><span> </span><span>为程序和人的交互实现表现层逻辑的一个层。</span><span>Java</span><span>程序，浏览器和掌上电脑（</span><span>PDAs</span><span>）是常见的客户端实例。客户端与中间层应用程序交互而且不需要包含任何与基础结构和数据源相关的功能。</span><span></span></p>
<p style="text-indent: -42.75pt; margin-left: 84.75pt;"><strong><span style="font-size: 12pt;"><span>2、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong><strong><span style="font-size: 12pt;">中间层服务器</span></strong><span> </span><span>&#8212;&#8212;</span><span> </span><span>中间层包括：</span><span></span></p>
<p style="text-indent: -21pt; margin-left: 84pt;"><span>&#9632;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>和客户端以及业务逻辑层交互的<strong>应用程序</strong>。如果该应用程序能够与数据源交互，和低级的驱动应用程序接口相比，他将更多地处理像</span><span>DataSource</span><span>对象和逻辑连接这些高级抽象。</span><span></span></p>
<p style="text-indent: -21pt; margin-left: 84pt;"><span>&#9632;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>为广泛的应用程序提供基础的<strong>应用程序服务器</strong>。这包括管理和共享物理连接、事务管理和屏蔽不同</span><span>JDBC</span><span>驱动之间的差异。最后一点使得编写可移植性良好的应用程序更加简单。</span><span>J2EE</span><span>服务器可以实现应用程序服务器这一角色。应用程序服务器可以实现被应用程序所使用的高级抽象和直接与</span><span>JDBC</span><span>驱动交互。</span><strong><span></span></strong></p>
<p style="text-indent: -21pt; margin-left: 84pt;"><span>&#9632;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><strong><span>JDBC</span></strong><strong><span>驱动</span></strong><span>提供到潜在数据源的连接。每个驱动程序在它所使用的数据源所支持的特性基础上实现标准的</span><span>JDBC</span><span>应用程序接口。驱动层可以屏蔽标准</span><span>SQL99</span><span>语法和数据源所支持的本地语法之间的差异。如果数据源不是一个关系数据库管理系统，那驱动程序则使用应用程序服务器实现关系层。</span><strong><span></span></strong></p>
<p style="text-indent: -42.75pt; margin-left: 84.75pt;"><strong><span style="font-size: 12pt;"><span>3、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong><strong><span style="font-size: 12pt;">潜在数据源</span></strong><strong><span style="font-size: 12pt;"> </span></strong><strong><span style="font-size: 12pt;">&#8212;&#8212;</span></strong><strong><span style="font-size: 12pt;"> </span></strong><span>即数据驻留层。它包括关系型数据库管理系统，遗留文件系统（</span><span>legacy file systems</span><span>），对象型数据库管理系统，数据仓库，电子表格或者其他形式的数据。唯一的要求就是有相应的支持</span><span>JDBC</span><span>应用程序接口的驱动程序。</span><span></span></p>
<p><span><strong><span style="font-size: 15pt;">4.5在</span></strong></span><span><strong><span style="font-size: 15pt;">J2EE</span></strong></span><span><strong><span style="font-size: 15pt;">平台中的</span></strong></span><span><strong><span style="font-size: 15pt;">JDBC</span></strong></span><strong><span style="font-size: 15pt;"></span></strong></p>
<p><span>&nbsp;&nbsp;&nbsp; </span>J2EE<span>组件，例如</span><span>JavaServer&#8482; Pages</span><span>，</span><span>Servlets</span><span>和企业级</span><span>Java Beans&#8482;</span><span>（</span><span>EJB&#8482;</span><span>）组件，常常需要使用</span><span>JDBC</span><span>应用程序接口来访问关系型数据。当</span><span>J2EE</span><span>组件使用了</span><span>JDBC</span><span>应用程序接口以后，那么可以使用相应的容器来管理它们的事务和数据源。这意味着</span><span>J2EE</span><span>组件开发人员可以不直接使用</span><span>JDBC</span><span>应用程序接口的事务管理和数据源管理的工具。具体细节请参考</span><span>J2EE</span><span>平台规范。</span></p>

 
<img src ="http://www.blogjava.net/littlebug/aggbug/119224.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/littlebug/" target="_blank">LittleBug</a> 2007-05-22 21:18 <a href="http://www.blogjava.net/littlebug/archive/2007/05/22/119224.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JDBC3.0 Specification翻译，第三章</title><link>http://www.blogjava.net/littlebug/archive/2007/05/22/119223.html</link><dc:creator>LittleBug</dc:creator><author>LittleBug</author><pubDate>Tue, 22 May 2007 13:14:00 GMT</pubDate><guid>http://www.blogjava.net/littlebug/archive/2007/05/22/119223.html</guid><wfw:comment>http://www.blogjava.net/littlebug/comments/119223.html</wfw:comment><comments>http://www.blogjava.net/littlebug/archive/2007/05/22/119223.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/littlebug/comments/commentRss/119223.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/littlebug/services/trackbacks/119223.html</trackback:ping><description><![CDATA[<div align=center><strong><span style="FONT-SIZE: 21pt">第三章 新特性概述</span></strong> </div>
<font size=5><strong>3.1</strong><span><strong><span style="FONT-SIZE: 15pt">变化</span></strong></span></font><span></span><strong><span style="FONT-SIZE: 15pt"></span></strong>
<p style="TEXT-INDENT: 21pt"><span>JDBC3.0</span><span>在以下领域有所改变：</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span></span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>保存点</span><span>(Savepoint)</span><span>支持</span></p>
<p style="MARGIN-LEFT: 57pt"><span>添加了保存点接口，此接口包含了新的方法来对一个指定的保存点进行设置，释放或者回滚事务。</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span></span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>通过连接池重用预处理语句</span><span>(Prepared Statments)</span></p>
<p style="MARGIN-LEFT: 57pt"><span>为部署者提供了通过连接来控制预处理语句怎样被共享和重用的能力。</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span></span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>配置连接池</span></p>
<p style="MARGIN-LEFT: 57pt"><span>为</span><span>ConnectionPoolDatasource</span><span>接口定义了大量属性。这些属性能够描述通过</span><span>Datasource</span><span>对象创建的</span><span>PooledConnection</span><span>对象怎样被共享。</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span></span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>对参数元数据的检索</span></p>
<p style="MARGIN-LEFT: 57pt"><span>添加了</span><span>ParameterMetadata</span><span>接口，此接口描述了预处理语句</span><span>(Prepared Statements)</span><span>的参数个数，类型和属性。</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span></span></span></span><span><span><span>&nbsp;&nbsp; </span></span></span><span>对自动产生键的检索</span></p>
<p style="MARGIN-LEFT: 57pt"><span>添加了从那些能够自动产生值的列来检索值的手段。</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span></span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>打开多个结果集</span><span>(ResultSet)</span><span>对象的能力</span></p>
<p style="MARGIN-LEFT: 57pt"><span>添加了</span><span>getMoreResults(int)</span><span>这一方法，此方法提供了一个参数，这一个参数定义了</span><span>Statement</span><span>对象返回的</span><span>ResultSet</span><span>对象在返回任何并发的</span><span>ResultSet</span><span>对象之前是否应该被关闭。</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span></span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>通过名字向</span><span>CallableStatment</span><span>对象传递参数</span></p>
<p style="MARGIN-LEFT: 57pt"><span>添加了一个新方法，此方法可以通过一个字符串来标识</span><span>CallableStatement</span><span>对象的参数。</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span></span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>对可控制游标的支持</span></p>
<p style="MARGIN-LEFT: 57pt"><span>添加了指定</span><span>ResultSet</span><span>对象的可控制游标的能力。</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span></span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>布尔数据类型</span></p>
<p style="MARGIN-LEFT: 57pt"><span>添加了数据类型</span><span>java.sql.Types.BOOLEAN</span><span>。</span><span>BOOLEAN</span><span>与</span><span>BIT</span><span>是在逻辑上等价的。</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span></span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>对</span><span>Blob</span><span>和</span><span>Clob</span><span>对象中的数据进行内部更新</span></p>
<p style="MARGIN-LEFT: 57pt"><span>添加了新的方法允许</span><span>Blob</span><span>和</span><span>Clob</span><span>对象包含的数据被改变。</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span></span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>检索和更新被</span><span>Ref</span><span>对象引用的对象</span></p>
<p style="MARGIN-LEFT: 57pt"><span>添加了新的方法来检索被</span><span>Ref</span><span>对象引用的对象。也添加了更新被</span><span>Ref</span><span>对象引用的对象的能力。</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span></span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>更新包含</span><span>BLOB,CLOB,ARRAY</span><span>和</span><span>REF</span><span>类型的列</span></p>
<p style="MARGIN-LEFT: 57pt"><span>为</span><span>ResultSet</span><span>接口添加了</span><span>updateBlob</span><span>，</span><span>updateClob</span><span>，</span><span>updateArray</span><span>和</span><span>updateRef</span><span>方法。</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span></span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>DATALINK/URL</span><span>数据类型</span></p>
<p style="MARGIN-LEFT: 57pt"><span>添加了新的数据类型</span><span>java.sql.Types.DATALINK</span><span>，允许</span><span>JDBC</span><span>驱动存储和检索对外部数据的引用。</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span></span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>转化组</span><span>(Transform groups)</span><span>和类型映射</span></p>
<p style="MARGIN-LEFT: 57pt"><span>描述了转化组的作用和在元数据中这一作用是怎样被反映的。</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span></span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>JDBC SPI(</span><span>服务提供者接口</span><span>)</span><span>和连接器体系结构的关系</span></p>
<p style="MARGIN-LEFT: 57pt"><span>在第</span><span>19</span><span>章&#8220;和连接器的关系&#8221;中描述了</span><span>JDBC SPI</span><span>和连接器体系结构的关系。</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span></span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>数据库元数据</span><span>(DatabaseMetadata) APIs</span></p>
<p style="MARGIN-LEFT: 57pt"><span>为了检索</span><span>SQL</span><span>类型体系添加了元数据。具体细节参见此规范。</span></p>
<p style="MARGIN-LEFT: 57pt"><span></span></p>
<p style="TEXT-INDENT: 21.75pt"><span>参见第五章&#8220;类和接口&#8221;中受到这些改变的影响的类和接口的清单。</span></p>
<img src ="http://www.blogjava.net/littlebug/aggbug/119223.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/littlebug/" target="_blank">LittleBug</a> 2007-05-22 21:14 <a href="http://www.blogjava.net/littlebug/archive/2007/05/22/119223.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JDBC3.0 Specification翻译，第二章</title><link>http://www.blogjava.net/littlebug/archive/2007/05/22/119222.html</link><dc:creator>LittleBug</dc:creator><author>LittleBug</author><pubDate>Tue, 22 May 2007 13:12:00 GMT</pubDate><guid>http://www.blogjava.net/littlebug/archive/2007/05/22/119222.html</guid><wfw:comment>http://www.blogjava.net/littlebug/comments/119222.html</wfw:comment><comments>http://www.blogjava.net/littlebug/archive/2007/05/22/119222.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/littlebug/comments/commentRss/119222.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/littlebug/services/trackbacks/119222.html</trackback:ping><description><![CDATA[<div class=cnt>
<p align=center><span></span><span></span><strong><span style="FONT-SIZE: 21pt">第二章 目标</span></strong><span><br></span></p>
<p><span>JDBC</span><span>应用程序接口是成熟的技术，它早在</span><span>1997</span><span>年</span><span>1</span><span>月就被提出。在它最初发行的时候，</span><span>JDBC</span><span>应用程序接口注重于提供一个基本的调用级的到</span><span>SQL</span><span>数据库的接口。而</span><span>JDBC2.1</span><span>规范和</span><span>2.0</span><span>可选择包规范则扩展了</span><span>JDBC</span><span>的范围。这两个规范包括了对更多高级应用程序的支持和使用</span><span>JDBC</span><span>应用程序接口的应用程序服务器为了运行于它们之上的应用程序的性能所要求的新特性的支持。</span></p>
<p><span>JDBC3.0</span><span>规范的总体目标是补上那些在很少方面的功能缺失。以下的清单列出了</span><span>JDBC</span><span>以及</span><span>JDBC3.0</span><span>所特有的目标和设计原理：</span></p>
<p style="MARGIN-LEFT: 18pt; TEXT-INDENT: -18pt"><strong><span style="FONT-SIZE: 12pt"><span>1、<span> </span></span></span></strong><strong><span style="FONT-SIZE: 12pt">适合</span></strong><strong><span style="FONT-SIZE: 12pt">J2EE</span></strong><strong><span style="FONT-SIZE: 12pt">和</span></strong><strong><span style="FONT-SIZE: 12pt">J2SE</span></strong><strong><span style="FONT-SIZE: 12pt">平台</span></strong><strong><span style="FONT-SIZE: 12pt"></span></strong></p>
<p style="MARGIN-LEFT: 18pt"><span>JDBC</span><span>应用程序接口是</span><span>Java</span><span>平台的组成技术。因此，</span><span>JDBC3.0</span><span>应该和</span><span>Java2</span><span>企业版和</span><span>Java2</span><span>标准版的总体方向保持一致。</span></p>
<p style="MARGIN-LEFT: 18pt; TEXT-INDENT: -18pt"><strong><span style="FONT-SIZE: 12pt"><span>2、<span> </span></span></span></strong><strong><span style="FONT-SIZE: 12pt">与</span></strong><strong><span style="FONT-SIZE: 12pt">SQL99</span></strong><strong><span style="FONT-SIZE: 12pt">保持一致</span></strong><strong><span style="FONT-SIZE: 12pt"></span></strong></p>
<p style="MARGIN-LEFT: 18pt"><span>JDBC</span><span>应用程序接口提供了从</span><span>Java</span><span>编写的应用程序到标准</span><span>SQL</span><span>的编程访问。在</span><span>JDBC2.0</span><span>开发的过程中，</span><span>SQL99</span><span>规范还处在一种变化不定的情况下。现在</span><span>SQL99</span><span>规范是一个公开的标准，它包括了被数据库管理系统厂商广泛支持的以及那些被很少厂商支持的特性。</span><span>JDBC3.0</span><span>的目标就是实现</span><span>SQL99</span><span>中那些极可能在将来五年里会被广泛支持的特性的子集。</span></p>
<p style="MARGIN-LEFT: 18pt; TEXT-INDENT: -18pt"><strong><span style="FONT-SIZE: 12pt"><span>3、<span> </span></span></span></strong><strong><span style="FONT-SIZE: 12pt">合并之前版本的规范</span></strong><strong><span style="FONT-SIZE: 12pt"></span></strong></p>
<p style="MARGIN-LEFT: 18pt"><span>此规范合并了之前三版</span><span>JDBC</span><span>规范以提供一份独立的关于</span><span>JDBC</span><span>应用程序接口的规范。</span></p>
<p style="MARGIN-LEFT: 18pt; TEXT-INDENT: -18pt"><strong><span style="FONT-SIZE: 12pt"><span>4、<span> </span></span></span></strong><strong><span style="FONT-SIZE: 12pt">提供厂商中立的对普通特性的访问</span></strong><strong><span style="FONT-SIZE: 12pt"></span></strong></p>
<p style="MARGIN-LEFT: 18pt"><span>JDBC</span><span>应用程序接口努力实现对被不同厂商普遍支持的特征的高性能的访问。目标是在一定程度上提供本地应用程序能完成的对特性的访问。因此，</span><span>JDBC</span><span>应用程序接口必须足够全面和灵活以顾及大量的实现方式。</span></p>
<p style="MARGIN-LEFT: 18pt; TEXT-INDENT: -18pt"><strong><span style="FONT-SIZE: 12pt"><span>5、<span> </span></span></span></strong><strong><span style="FONT-SIZE: 12pt">继续保持对</span></strong><strong><span style="FONT-SIZE: 12pt">SQL</span></strong><strong><span style="FONT-SIZE: 12pt">的注重</span></strong><strong><span style="FONT-SIZE: 12pt"></span></strong></p>
<p style="MARGIN-LEFT: 18pt"><span>JDBC</span><span>应用程序接口一直注重于从</span><span>Java</span><span>编程语言到关系型数据的访问。</span><span>JDBC3.0</span><span>将继续注重于这一点。</span><span>JDBC3.0</span><span>不排除和其它技术交互，包括</span><span>XML</span><span>、</span><span>CORBA</span><span>和非关系型数据，但是最主要的目标将仍然是和关系型数据和</span><span>SQL</span><span>交互。</span></p>
<p style="MARGIN-LEFT: 18pt; TEXT-INDENT: -18pt"><strong><span style="FONT-SIZE: 12pt"><span>6、<span> </span></span></span></strong><strong><span style="FONT-SIZE: 12pt">为工具和更高层的应用程序接口提供基础</span></strong><strong><span style="FONT-SIZE: 12pt"></span></strong></p>
<p style="MARGIN-LEFT: 18pt"><span>JDBC</span><span>应用程序接口提供标准的应用程序接口来访问广泛的数据源或者保留系统</span><span>(Legacy Systems)</span><span>。通过</span><span>JDBC</span><span>应用程序接口的抽象，实现方式的不同之处也变得透明了。这使得</span><span>JDBC</span><span>对于那些想生产轻便工具和应用程序的厂商来说，是一个不可多得的目标平台。</span></p>
<p style="MARGIN-LEFT: 18pt"></p>
<p style="MARGIN-LEFT: 18pt"><span>因为</span><span>JDBC</span><span>是一个从</span><span>Java</span><span>编程语言到</span><span>SQL</span><span>的调用级的接口，所以，</span><span>JDBC</span><span>应用程序接口也适合作为那些像</span><span>EJB2.0</span><span>容器管理持久和</span><span>SQLJ</span><span>（注：SQLJ是一个与Java编程语言紧密集成的嵌入式SQL版本</span><span style="COLOR: black"></span><span style="COLOR: black"><span></span><span></span></span><span>）这些高级程序的基础。</span></p>
<p style="MARGIN-LEFT: 18pt"><span></span></p>
<p style="MARGIN-LEFT: 18pt; TEXT-INDENT: -18pt"><strong><span style="FONT-SIZE: 12pt"><span>7、<span> </span></span></span></strong><strong><span style="FONT-SIZE: 12pt">保持它的简单</span></strong><strong><span style="FONT-SIZE: 12pt"></span></strong></p>
<p style="MARGIN-LEFT: 18pt"><span>JDBC</span><span>应用程序接口被设计为简单易懂的接口，但是通过它能够编写更复杂的实体。这一目标是通过定义许多简洁，拥有单一功能的方法来代替通过标志参数控制的少量的复杂而拥有多功能的方法来实现的。</span></p>
<p style="MARGIN-LEFT: 18pt; TEXT-INDENT: -18pt"><strong><span style="FONT-SIZE: 12pt"><span>8、<span> </span></span></span></strong><strong><span style="FONT-SIZE: 12pt">增强可靠性、实用性和灵活性</span></strong><strong><span style="FONT-SIZE: 12pt"></span></strong></p>
<p style="MARGIN-LEFT: 18pt"><span>可靠性、实用性和灵活性是</span><span>J2EE</span><span>和</span><span>J2SE</span><span>平台的主题，也是</span><span>Java</span><span>平台未来的方向。</span><span>JDBC3.0</span><span>应用程序接口通过增强对若干领域的支持体现了这些主题，这些领域包括资源管理，通过逻辑连接重用预处理语句（</span><span>prepared statements</span><span>）以及错误处理。</span></p>
<p style="MARGIN-LEFT: 18pt; TEXT-INDENT: -18pt"><strong><span style="FONT-SIZE: 12pt"><span>9、<span> </span></span></span></strong><strong><span style="FONT-SIZE: 12pt">保留对现有应用程序和驱动程序的向后兼容性</span></strong><strong><span style="FONT-SIZE: 12pt"></span></strong></p>
<p style="MARGIN-LEFT: 18pt"><span>现有的支持</span><span>JDBC</span><span>技术的驱动和使用这些驱动的应用程序在支持</span><span>JDBC3.0</span><span>的</span><span>Java</span><span>虚拟机上必须能够继续工作。对于那些只使用了先前版本的</span><span>JDBC</span><span>应用程序接口的特性，但是没有使用</span><span>JDBC2.0</span><span>反对的特性的应用程序，将不需要任何改变而正常运行。现有的应用程序移植到</span><span>JDBC3.0</span><span>技术上是件简单的事情。</span></p>
<p style="MARGIN-LEFT: 18pt; TEXT-INDENT: -18pt"><strong><span style="FONT-SIZE: 12pt"><span>10、<span></span></span></span></strong><strong><span style="FONT-SIZE: 12pt">允许对连接器的向前兼容</span></strong><strong><span style="FONT-SIZE: 12pt"></span></strong></p>
<p style="MARGIN-LEFT: 18pt"><span>连接器的体系结构定义了一个标准的方法来打包和部署资源适配器。这使得</span><span>J2EE</span><span>容器可以通过外部资源集成连接器的连接、事务和安全管理。</span></p>
<p style="MARGIN-LEFT: 18pt"><span>JDBC3.0</span><span>应用程序接口提供了从</span><span>JDBC</span><span>驱动程序移植到连接器体系的途径。这使得那些使用</span><span>JDBC</span><span>技术的产品的厂商更多地转移到使用连接器应用程序接口（</span><span>Connector API</span><span>）成为可能。希望这些厂商会在他们现有的数据源工具上写上&#8220;资源管理器封装&#8221;，这样这些工具就能够在连接器框架中被重用。</span></p>
<p style="MARGIN-LEFT: 18pt; TEXT-INDENT: -18pt"><strong><span style="FONT-SIZE: 12pt"><span>11、<span> </span></span></span></strong><strong><span style="FONT-SIZE: 12pt">清楚地规定需求</span></strong><strong><span style="FONT-SIZE: 12pt"></span></strong></p>
<span style="FONT-SIZE: 10.5pt">JDBC</span><span style="FONT-SIZE: 10.5pt">规范的需求应该是明确的和容易识别的。</span><span style="FONT-SIZE: 10.5pt">JDBC3.0</span><span style="FONT-SIZE: 10.5pt">规范和</span><span style="FONT-SIZE: 10.5pt">Javadoc</span><span style="FONT-SIZE: 10.5pt">文档规定了哪些特性是必需 的，而哪些特性是可选的。</span></div>
<img src ="http://www.blogjava.net/littlebug/aggbug/119222.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/littlebug/" target="_blank">LittleBug</a> 2007-05-22 21:12 <a href="http://www.blogjava.net/littlebug/archive/2007/05/22/119222.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JDBC3.0 Specification翻译，第一章</title><link>http://www.blogjava.net/littlebug/archive/2007/05/22/119221.html</link><dc:creator>LittleBug</dc:creator><author>LittleBug</author><pubDate>Tue, 22 May 2007 13:10:00 GMT</pubDate><guid>http://www.blogjava.net/littlebug/archive/2007/05/22/119221.html</guid><wfw:comment>http://www.blogjava.net/littlebug/comments/119221.html</wfw:comment><comments>http://www.blogjava.net/littlebug/archive/2007/05/22/119221.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/littlebug/comments/commentRss/119221.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/littlebug/services/trackbacks/119221.html</trackback:ping><description><![CDATA[<p style="MARGIN-LEFT: 84pt; TEXT-INDENT: -84pt; TEXT-ALIGN: center" align=center><strong><font size=4><span style="FONT-SIZE: 21pt"><span><span></span></span></span><span style="FONT-SIZE: 21pt">第一章 绪论</span></font></strong><strong><span style="FONT-SIZE: 21pt"></span></strong></p>
<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -36pt"><strong><span style="FONT-SIZE: 15pt"><span>1.1<span>&nbsp;&nbsp; </span></span></span></strong><strong><span style="FONT-SIZE: 15pt">JDBC</span></strong><strong><span style="FONT-SIZE: 15pt">应用程序接口</span></strong><strong><span style="FONT-SIZE: 15pt"></span></strong></p>
<p style="MARGIN-LEFT: 36pt"><span>JDBC&#8482;</span><span>应用程序接口提供了从</span><span>Java&#8482;</span><span>编程语言编程访问关系数据的能力。通过使用</span><span>JDBC</span><span>应用程序接口，</span><span>Java</span><span>编程语言写的应用程序能够执行</span><span>SQL</span><span>表达式，检索结果集和把改变传回潜在的数据源。</span><span>JDBC</span><span>应用程序接口还可以和在分布式的、异源的环境中的多种数据源进行交互。</span></p>
<p style="MARGIN-LEFT: 36pt"><span>JDBC</span><span>应用程序接口基于</span><span>X/Open SQL CLI</span><span>，</span><span>ODBC</span><span>也是建立在此基础上。</span><span>JDBC</span><span>提供了从</span><span>Java</span><span>编程语言到</span><span>X/Open CLI</span><span>和</span><span>SQL</span><span>标准定义的抽象和概念的自然、简单的映射。</span></p>
<p style="MARGIN-LEFT: 36pt"><span>自从</span><span>1997</span><span>年</span><span>1</span><span>月被提出，</span><span>JDBC</span><span>应用程序接口就被广泛接受和实现。它的灵活性考虑到了大量的实现方式。</span></p>
<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -36pt"><strong><span style="FONT-SIZE: 15pt"><span>1.2<span>&nbsp;&nbsp; </span></span></span></strong><strong><span style="FONT-SIZE: 15pt">平台</span></strong><strong><span style="FONT-SIZE: 15pt"></span></strong></p>
<p style="MARGIN-LEFT: 36pt"><span>JDBC</span><span>应用程序接口是</span><span>Java</span><span>平台的一部分，</span><span>Java</span><span>平台包括了</span><span>Java&#8482;2</span><span>标准版（</span><span>J2SE&#8482;</span><span>）和</span><span>Java2&#8482;</span><span>企业版（</span><span>J2EE&#8482;</span><span>）。</span><span>JDBC3.0</span><span>被分成了两个包：</span><span>java.sql</span><span>和</span><span>javax.sql</span><span>。这两个包都被包括到了</span><span>J2SE</span><span>和</span><span>J2EE</span><span>平台中。</span></p>
<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -36pt"><strong><span style="FONT-SIZE: 15pt"><span>1.3<span> </span></span></span></strong><strong><span style="FONT-SIZE: 15pt">目标读者</span></strong><strong><span style="FONT-SIZE: 15pt"></span></strong></p>
<p style="MARGIN-LEFT: 36pt"><span>此规范主要面向以下几类产品的厂家：</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span> &nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>实现</span><span>JDBC</span><span>应用程序接口的驱动程序</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span> </span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>提供驱动层以上的中间层服务的应用程序服务器</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span> </span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>使用</span><span>JDBC</span><span>应用程序接口提供服务的工具，如应用程序生成器</span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>此规范也打算为以下目的服务：</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span> </span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>在他们的程序中使用</span><span>JDBC</span><span>应用程序接口的最终用户的一份说明书</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span> </span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>开发基于</span><span>JDBC</span><span>应用程序接口的其它应用程序接口的程序员的一个起点</span></p>
<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -36pt"><strong><span style="FONT-SIZE: 15pt"><span>1.4<span>&nbsp;&nbsp; </span></span></span></strong><strong><span style="FONT-SIZE: 15pt">感谢</span></strong><strong><span style="FONT-SIZE: 15pt"></span></strong></p>
<p style="MARGIN-LEFT: 36pt"><span>作者要感谢以下专家组成员，因为他们为此规范做出了宝贵的贡献：</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span> </span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>ElhamChandler, Informix</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span> </span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Stefan Dessloch, IBM</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span> </span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>John Goodson, Merant</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span> </span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Jay Hiremath, Bluestone</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span> </span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Viquar Hussain, Inprise</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span> </span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Prabha Krishna, Oracle</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span> </span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Scott Marlow, Silverstream</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span> &nbsp;&nbsp;</span></span></span><span><span><span> &nbsp;&nbsp; </span></span></span><span>Kuldip Pathak, Informix</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span> </span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>David Schorow, Compaq</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span> </span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Yeh-Heng Sheng, Informix</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span> &nbsp;&nbsp;</span></span></span><span><span><span> &nbsp;&nbsp; </span></span></span><span>Mark Spotswood, BEA</span></p>
<p style="MARGIN-LEFT: 57pt; TEXT-INDENT: -21pt"><span><span>■<span> </span></span></span><span><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Satish Viswanatham, iPlanet</span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Maydene Fisher </span><span>曾经很有耐心地把我们写的东西翻译成英语。</span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Jennifer Ball </span><span>也从书写方式转变成为我们所希望的用图表表示的方式来表达。</span></p>
<p style="MARGIN-LEFT: 36.75pt; TEXT-INDENT: -36.75pt"><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;&nbsp;</span>Graham Hamilton, Rick Cattell, Mark Hapner, Seth White</span><span>以及许多其他曾经为</span><span>JDBC</span><span>技术工作的人</span></p>
<p style="MARGIN-LEFT: 36.75pt; TEXT-INDENT: -36.75pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span>使此规范的出版成为可能。</span><span></span><span></span></p>
<img src ="http://www.blogjava.net/littlebug/aggbug/119221.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/littlebug/" target="_blank">LittleBug</a> 2007-05-22 21:10 <a href="http://www.blogjava.net/littlebug/archive/2007/05/22/119221.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>