标题: JDBC驱动程序的类型有哪4类? [打印本页] 作者: 陆建平 时间: 2012-5-24 22:49 标题: JDBC驱动程序的类型有哪4类? JDBC驱动程序的类型有哪4类,分别是哪4类,连接的具体步骤?作者: 韩国军 时间: 2012-5-24 22:57
JDBC驱动器根据其实现方式分为4种类型
1、JDBC-ODBC bridge plus ODBC driver: JDBC-ODBC桥驱动程序,将JDBC调用转换为ODBC的调用。( This combination provides JDBC access via ODBC drivers. ODBC binary code--and in many cases, database client code-- must be loaded on each client machine that uses a JDBC-ODBC Bridge. Sun provides a JDBC-ODBC Bridge driver, which is appropriate for experimental use and for situations in which no other driver is available.)注意, 必须将ODBC二进制代码(许多情况下还包括数据库客户机代码)加载到使用该驱动程序的每个客户机上。这种类型的驱动程序最适合于企业网(这种网络上客户机的安装不是主要问题),或者是用Java编写的三层结构的应用程序服5、 务器代码。
2、Native-API partly-Java driver: 将JDBC调用转换为对数据库客户端API的调用。(A native-API partly Java technology-enabled driver: This type of driver converts JDBC calls into calls on the client API for Oracle, Sybase, Informix, DB2, or other DBMS. Note that, like the bridge driver, this style of driver requires that some binary code be loaded on each client machine.)这种类型的驱动程序把客户机API上的JDBC调用转换为Oracle、Sybase、Informix、DB2或其它DBMS的调用。注意,象桥驱动程序一样,这种类型的驱动程序要求将某些二进制代码加载到每台客户机上。
3、 Pure Java Driver for Database Middleware: 先将JDBC调用转换为DBMS-independent网络协议,然后由服务器端的中间件转换为具体数据库服务器可以接收的网络协议。(net-protocol fully Java technology-enabled driver #This style of driver translates JDBC calls into the middleware vendor's protocol, which is then translated to a DBMS protocol by a middleware server. The middleware provides connectivity to many different databases.)这种网络服务器中间件能够将它的纯Java客户机连接到多种不同的数据库上。所用的具体协议取决于提供者。通常,这是最为灵活的JDBC驱动程序。有可能所有这种解决方案的提供者都提供适合于Intranet用的产品。为了使这些产品也支持Internet访问,它们必须处理Web所提出的安全性、通过防火墙的访问等方面的额外要求。几家提供者正将JDBC驱动程序加到他们现有的数据库中间件产品中。
4、Direct-to-Database Pure Java Driver: 将JDBC调用直接转换为具体数据库服务器可以接收的网络协议。(native-protocol fully Java technology-enabled driver #This style of driver converts JDBC calls into the network protocol used directly by DBMSs, allowing a direct call from the client machine to the DBMS server and providing a practical solution for intranet access.)这将允许从客户机机器上直接调用DBMS服务器,是Intranet访问的一个很实用的解决方法。由于许多这样的协议都是专用的,因此数据库提供者自己将是主要来源,有几家提供者已在着手做这件事了。 作者: 贾旭 时间: 2012-5-24 22:59
你这样问问题让人感觉很囧的作者: 谭威 时间: 2012-5-24 23:03
论坛上很多问题都很让人无语。不知道他们问的问题对他们到底有没有意义。是真心不懂还是什么作者: 山水游客 时间: 2012-5-25 15:41
转自博客园 揭密JDBC驱动程序
对 Java 产生混淆的常见根源是:JDBC 有不同的版本,JDBC 驱动程序有不同的类型,它们可以被不同版本的 Java 使用。而且,新的 Java 规范总是在开发之中,因为通过 Java 社区过程(Java Community Process),相关的功能在不断地扩展中。 JDBC 版本
DB2 通用数据库 V8.1 支持 JDBC V2.1 规范和部分 JDBC 3.0 规范。使用通用 JDBC 驱动程序,全面支持 JDBC 3.0 需求的计划正在进行之中。
JDBC 驱动程序被认证为 J2EE 解决方案的一个组件。驱动程序认证的结果总是发布在 Sun 兼容性网站上。 JDBC 驱动程序体系结构
JDBC 驱动程序体系结构分为四种类型。
◆Type 1
◆Type 2
◆Type 3
◆Type 4 JDBC Type 1 驱动程序
JDBC Type 1 驱动程序基于 JDBC-ODBC 桥。因此 ODBC 驱动程序可以与此类 JDBC 驱动程序(由 Sun 提供)结合起来使用。IBM 不支持 Type 1 驱动程序,因此它不是推荐的环境。图 1 显示了 JDBC Type 1 驱动程序的示例:
图 1. JDBC Type 1 驱动程序
JDBC Type 2 驱动程序
JDBC Type 2 驱动程序依靠特定于操作系统的库(共享库)来与 RDBMS 通信。应用程序将装入这种 JDBC 驱动程序,而驱动程序将使用共享库来与 DB2 服务器通信。DB2 UDB for Linux, UNIX® 和 Windows® V8.1 提供了两种不同的 Type 2 驱动程序:
旧的/CLI JDBC 驱动程序在文件 db2java.zip 中提供。其实现包名称为 COM.ibm.db2.jdbc.app.DB2Driver。该驱动程序目前已被用于进行 J2EE 认证。其别名“app 驱动程序”源自于一种观念及其包名称,这种观念就是:此驱动程序将通过远程数据库的本地 DB2 UDB 客户机执行本地连接。
通用 JDBC 驱动程序在文件 db2jcc.jar 中提供。其实现包名称为 com.ibm.db2.jcc.DB2Driver。 此驱动程序是 DB2 UDB for Linux, UNIX 和 Windows V8.1 中的新功能。在最初的实现(V8.1)中,此驱动程序用于使用 Type 4 驱动程序体系结构与 DB2 服务器进行直接的 Java 连接。在 DB2 V8.1.2 中,您可以在 Type 2 体系结构中使用此驱动程序。在 Type 2 体系结构中使用此驱动程序的一个主要原因是为了本地应用程序性能和分布式事务支持。通用 JDBC Type 2 驱动程序分别使用 com.ibm.db2.jcc.DB2XADataSource 和 com.ibm.db2.jcc.DB2ConnectionPoolDataSource 来支持分布式事务和连接池。
可以使用 JDBC Type 2 驱动程序来支持 JDBC 应用程序。WebSphere Application Server 同时支持这两种 Type 2 驱动程序。注:在将来的版本中不会对旧的/CLI Type 2 驱动程序进行增强。
图 2 显示了使用 JDBC Type 2 驱动程序的应用程序的典型拓扑结构:
图 2. 使用JDBC Type 2 驱动程序的应用程序