`
hain
  • 浏览: 453981 次
  • 来自: ...
社区版块
存档分类
最新评论

Java连接db2 的类型

阅读更多

DB2有几种jdbc驱动,jdbc-url分别如下: 
jdbc:db2:localhost:db2test                              COM.ibm.db2.jdbc.net.DB2Driver         type3  db2java.zip 
jdbc:db2:db2test                                                COM.ibm.db2.jdbc.app.DB2Driver        type2  db2java.zip 
jdbc:db2://localhost:50000/db2test               com.ibm.db2.jcc.DB2Driver                     type4 db2jcc.jar 

另外用type4时 数据库必须将codeset设置成utf-8 
否则查询时会抛出com.ibm.db2.jcc.b.DisconnectException: encoding not supported!!异常 

 

---------------------------------------------------------------------- 

/**了解基础情况**/ 
对于Java程序员而言,DB2 提供了两种应用程序编程接口(API):JDBC 和 SQLJ。 

JDBC: 
  JDBC 驱动程序分为旧的/CLI 驱动程序<db2java.zip>和新的通用 JDBC 驱动程序(Universal JDBC Driver)<db2jcc.jar>。 
  JDBC 是一个与供应商无关的动态 SQL 接口,该接口通过标准化的 Java 方法向您的应用程序提供数据访问。 
  JDBC 类似于 DB2 CLI,因为您无须预编译应用程序代码,也无须将软件包绑定到 DB2 数据库。 
  作为一个与供应商无关的标准,JDBC 应用程序提供了更多的可移植性—这是当今异构业务基础设施所必需的优点。 
  在执行 JDBC 应用程序期间,驱动程序将针对当前连接的 DB2 数据库服务器验证 SQL 语句。 
  访问期间的任何问题都会作为 Java 异常与相应的 SQLSTATE 和 SQLCODE 一起报告给应用程序。 
SQLJ: 
  SQLJ 是一个用于从 Java 应用程序进行数据访问的标准开发模型。 
  SQLJ API 是在 SQL 1999 规范中定义的。 
  
新的通用 JDBC 驱动程序在一个实现中同时为 JDBC 和 SQLJ API 提供了支持。 
JDBC 和 SQLJ 可以在同一个应用程序中互操作。 
SQLJ 提供了独特的使用静态 SQL 语句进行开发以及在 DB2 包级别控制访问的能力。 

/**JDBC连接方式分析**/ 
JDBC 驱动程序体系结构分为四种类型:Type1,Type2,Type3,Type4。 

Type1: 
  驱动程序基于 JDBC-ODBC 桥。 
  因此 ODBC 驱动程序可以与此类 JDBC 驱动程序(由 Sun 提供)结合起来使用。 
  IBM 不支持 Type 1 驱动程序,因此它不是推荐的环境。 


Type2: 
   驱动程序依靠特定于操作系统的库(共享库)来与 RDBMS 通信。 
   应用程序将装入这种 JDBC 驱动程序,而驱动程序将使用共享库来与 DB2 服务器通信。 
   DB2 UDB for Linux, UNIX和 WindowsV8.1 提供了两种不同的 Type 2 驱动程序: 
   <1> 旧的/CLI JDBC 驱动程序在文件db2java.zip中提供。 
     其实现包名称为COM.ibm.db2.jdbc.app.DB2Driver。 
     该驱动程序目前已被用于进行 J2EE 认证。 
     其别名“app 驱动程序”源自于一种观念及其包名称, 
     这种观念就是:此驱动程序将通过远程数据库的本地 DB2 UDB 客户机执行本地连接。 
   <2> 通用 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来支持分布式事务和连接池。 

  注:在将来的版本中不会对旧的/CLI Type 2 驱动程序进行增强。 


Type3: 
   驱动程序是一种纯 Java 实现,它必须与 DB2 JDBC Applet 服务器(DB2 JDBC Applet Server)通信才能访问 DB2 数据。 
   此类驱动程序旨在使 Java applet 能访问 DB2 数据源。 
   常被称作“网络(net)驱动程序”,它是根据其包名COM.ibm.db2.jdbc.net命名的。DB2 V8.1 支持网络驱动程序,可以将其用于 JDBC 应用程序。 
   要求db2java.zip驱动程序总是处于与 DB2 Applet 服务器相同的维护级别。 
   如果驱动程序在 applet 内使用,这就不是一个问题,因为浏览器会在应用程序执行期间下载相应的db2java.zip文件。 
   许多客户使用 Type3 驱动程序而不是 Type2 驱动程序,以避免必需的 DB2 客户机安装和必需的DB2 CATALOG DATABASE命令,后者用于创建使用旧的/CLI 驱动程序进行 Type 2 连接所必需的数据库目录信息。 
   目前,WebSphere Application Server 和其它 J2EE 服务器不支持 IBM Type 3 驱动程序,因为该驱动程序不支持分布式事务(JTA)。 
   将来的版本不会对 Type 3 驱动程序进行增强。 

   鼓励使用通用 JDBC Type 4 驱动程序来替代 Type 3 驱动程序。 


Type4: 
  驱动程序是仅用于 Java 的 JDBC 驱动程序,它直接连接到数据库服务器。 
  DB2 UDB for Linux, UNIX 和 Windows V8.1 引入了称为“通用 JDBC 驱动程序(Universal JDBC driver)”的 Type 4 驱动程序。 
  通用 JDBC 驱动程序在文件db2jcc.jar中提供。 
  其实现包名为com.ibm.db2.jcc.DB2Driver。 
  请注意,通用 Type 2 和通用 Type 4 驱动程序具有相同的实现类名称。 
  有两种方法可以区别 DB2 在内部将实例化哪个驱动程序: 
  使用连接特性来确定连接是否使用共享库(Type2),或者驱动程序是否会启动来自 Java 应用程序的直接连接(Type4)。 


重要:就 DB2 UDB V8.1.2 而言,通用 JDBC 驱动程序要求 CLASSPATH 中有许可证 JAR 文件和db2jcc.jar文件。 
以下是所需的许可证 JAR 文件: 
  Cloudscape Network Server V5.1:db2jcc_license_c.jar 
  DB2 UDB V8 for Linux, UNIX 和 Windows 服务器:db2jcc_license_su.jar 
  DB2 UDB for iSeries and z/OS 服务器(与 DB2 Connect 和 DB2 Enterprise Server Edition 一起提供):db2jcc_license_cisuz.jar 



驱动程序类型:db2java.zip, db2jcc.jar 
注意:假如你使用db2java.zip,且web服务器使用Tomcat的话,请将db2java.zip改名为db2java.jar,最好将zip解压再用jar命令打包,直接改文件类型也行(呵呵,按照jar文件严格意义上来讲这是不符合文法的<少了描述性文件:MANIFEST.MF>,能用就行) 
   还有一般情况下:就是使用 db2java.zip的话需要安装db2客户端, 使用db2jcc.jar是通过网络直接来连接的无需安装db2客户端(假如用在type2上还是要装客户端的)

type2: 
使用<db2java.zip>: 
  jdbc.driverClassName=COM.ibm.db2.jdbc.app.DB2Driver 
    jdbc.url=jdbc:db2:dataBaseName 
    

   假如你的工具使用的是myeclipse且使用的是tomcat plugin的话,请将db2jdbc.dll 拷贝到 %JAVA_HOME%/bin下,否则不行地啦 
   <是不是其他类型的使用db2java.zip驱动也有这个问题呢,不知道,没试过,有空试一下> 
   
  使用<db2jcc.jar>: 
   jdbc.driverClassName=com.ibm.db2.jcc.DB2Driver 
   jdbc.url=jdbc:db2:dataBaseName 
  
type3: 
驱动:db2java.zip 
jdbc.driverClassName=COM.ibm.db2.jdbc.net.DB2Driver 
  jdbc.url=jdbc:db2://ip:6789/DBNAME 
  注意:要在数据库上执行 db2jstrt 6789 (这句启动了db2jd进程,6789是默认的服务器侦听jdbc2连接的端口,也可以设置成另外的任意不冲突的端口。) 
  
type4: 
驱动:db2jcc.jar 
数据库字符集必须设置为utf-8 
  jdbc.driverClassName=com.ibm.db2.jcc.DB2Driver 
  jdbc.url=jdbc:db2://ip:port/DBNAME

 

---------------------------------------------------------------------------

 

Listed below are connection examples for three common JDBC drivers for IBM DB2: 

IBM DB2 Universal Driver Type 4 



DRIVER CLASS: com.ibm.db2.jcc.DB2Driver 

DRIVER LOCATION: db2jcc.jar and db2jcc_license_cu.jar 
(Both of these jars must be included) 

JDBC URL FORMAT: jdbc:db2://<host>[:<port>]/<database_name> 

JDBC URL Examples: 

jdbc:db2://127.0.0.1:50000/SAMPLE 


IBM DB2 Universal Driver Type 2 


DRIVER CLASS: com.ibm.db2.jcc.DB2Driver 

DRIVER LOCATION: db2jcc.jar and db2jcc_license_cu.jar 
(Both of these jars must be included) 

JDBC URL FORMAT: jdbc:db2:<database_name> 

JDBC URL Examples: 

jdbc:db2:sample 


App JDBC Driver 


In order to be able to use the DB2 App driver, certain software must be installed on your machine. This usually entails installing the IBM DB2 Client software. See IBM's site for more information. 

DRIVER CLASS: COM.ibm.db2.jdbc.app.DB2Driver 

DRIVER LOCATION: To use the App driver, the DB2 client software should be installed on your machine. The name of the file that contains the DB2 App driver is usually db2java.zip. However, this may change depending on the version of the client software that is installed. Usually, the DB2 client software is installed in the SQLLIB directory. For example, if you are using Windows, the following may be the location of the db2java.zip file: c:\SQLLIB\java12\db2java.zip 

JDBC URL FORMAT: jdbc:db2:<database_name> 

JDBC URL Examples: 

jdbc:db2:test 


Net JDBC Driver 


DRIVER CLASS: COM.ibm.db2.jdbc.net.DB2Driver 

DRIVER LOCATION: The DB2 Net drivers can be obtained by installing the DB2 client software from IBM. Depending on the version of the client software, the net drivers are usually contained in the db2java.zip file. For example, if using Windows, the following may be the location of the db2java.zip file that contains the drivers:c:\SQLLIB\java12\db2java.zip 

JDBC URL FORMAT: jdbc:db2://<host>:<port>/<database_name> 

The default port for IBM DB2 is many times one of the following: 446, 6789, or 50000. Usually, if the default port is being used by the database server, the :<port> value of the JDBC url can be omitted. 

JDBC URL Examples: 

jdbc:db2://neptune.acme.com:6789/test 

jdbc:db2://127.0.0.1:6789/test 

分享到:
评论

相关推荐

    java 连接 DB2 jdbc 所有 驱动

    本篇将详细介绍如何使用Java连接DB2数据库以及涉及的JDBC驱动。 首先,DB2提供了多种JDBC驱动类型,包括Type 1、Type 2、Type 3和Type 4。其中: 1. Type 1(NetBIOS或ODBC桥):这是一个纯Java驱动,依赖于本地...

    最实用的java连接DB2 jar包

    Java连接DB2数据库通常涉及到几个关键知识点,包括Java数据库连接(JDBC)、DB2数据库驱动、jar包管理和使用。在本场景中,"最实用的java连接DB2 jar包" 提供了必要的库文件,使得Java应用程序能够与IBM的DB2数据库...

    java连接db2jar包

    Java连接DB2数据库时,通常需要使用特定的驱动程序,这就是所谓的JDBC(Java Database Connectivity)驱动。在Java中,连接DB2数据库的关键是引入正确的jar包,即db2jcc.jar和db2jcc_license_cu.jar。这两个jar包包...

    通过JDBC通过java连接DB2数据库

    ### 通过JDBC使用Java连接DB2数据库的关键知识点 #### JDBC简介 JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,它可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成...

    java连接DB2jdbc所有驱动

    Java通过JDBC(Java Database Connectivity)来...综上所述,使用Java JDBC连接DB2数据库涉及多个环节,包括驱动加载、连接创建、SQL执行以及资源关闭。理解这些概念和步骤对于进行Java与DB2之间的数据交互至关重要。

    java连接db2源码

    本示例中的"java连接db2源码"提供了连接到DB2数据库的具体方法。下面我们将详细探讨这个过程涉及的关键知识点。 首先,要连接到DB2数据库,你需要在项目中引入DB2的JDBC驱动。IBM提供了db2jcc.jar和db2jcc_license_...

    JAVA连接DB2所需要的JAR包

    在"JAVA连接DB2所需要的JAR包"中,提供的"JAVA2DB2jar包"很可能是包含了这些必要的驱动文件。 首先,我们需要了解JDBC,它是Java中用于与各种数据库进行通信的标准API。通过JDBC,Java开发者可以编写通用的代码来...

    java连接db2实例

    在Java编程中,连接DB2数据库是...总结来说,Java连接DB2实例涉及了JDBC驱动的使用、数据库连接的建立、SQL语句的执行以及结果的处理。熟悉这些知识点对于任何需要在Java应用中操作DB2数据库的开发者都是至关重要的。

    java连接DB2所需的jar包

    "java连接DB2所需的jar包"这个压缩包文件包含了进行这种连接所需的所有关键库。以下是这些JAR文件可能包含的一些核心知识点: 1. **JDBC驱动程序**:Java Database Connectivity (JDBC) 是Java平台的标准API,用于...

    java连接DB2数据库编程简介

    Java连接DB2数据库编程是Java开发中的一项重要技能,尤其在企业级应用中,数据库的交互通常是必不可少的。本篇文章将深入探讨如何使用Java来连接并操作DB2数据库,包括基本的连接步骤、所需的库以及实用示例。 首先...

    连接DB2包,DB2与JAVA连接驱动,JDBC驱动

    这个驱动通常包含几个JAR文件,例如`db2jcc.jar`和`db2jcc_license_cu.jar`等,这些文件将在Java应用程序中用作连接DB2的类库。 3. **配置环境**: 将下载的JDBC驱动JAR文件添加到Java项目的类路径(classpath)中...

    Java连接DB2

    1. **JDBC驱动**: 在Java连接DB2前,必须确保有适合DB2的JDBC驱动程序。IBM提供了多种类型的JDBC驱动,包括Type 1、2、3和4。其中,Type 4(纯Java网络协议驱动)是最常用的一种,它完全用Java编写,不需要依赖本地...

    db2 数据库连接客户端

    DB2数据库连接客户端是数据库管理员和开发人员用来与IBM DB2数据库进行交互的重要工具。在这个场景中,我们讨论的是一个基于Java编写的客户端工具,它为用户提供了方便的图形用户界面(GUI)来管理和操作DB2数据库。...

    vba连接DB2的方法(ODBC)

    VBA 连接 DB2 数据库使用 ODBC 的方法 DB2 是 IBM 公司开发的关系数据库管理系统,广泛应用于大型企业和政府机构中。连接 DB2 数据库是许多企业应用系统的关键步骤,而 VBA 则是 Excel、Word 等 Office 软件的编程...

    java db2数据库驱动

    在本篇中,我们将详细探讨Java连接DB2数据库所需的驱动包以及如何使用它们。 1. **Java Database Connectivity (JDBC)**: JDBC是Java平台上的一个标准接口,它允许Java应用程序通过Java虚拟机(JVM)与各种类型的...

    db2驱动\Java配置db2-jdbc.doc

    综上所述,配置Java应用程序连接DB2数据库涉及到选择合适的JDBC驱动、部署驱动jar文件、注册驱动以及编写JDBC代码来执行数据库操作。确保正确配置和使用这些元素对于成功地在Java中与DB2数据库交互至关重要。

    db_driver.rar_Java DB2 Driver_db2java.jar_informix_java database

    driver.rar_Java DB2 Driver_db2java.jar_informix_java database”所涉及的知识点,包括Java数据库连接(JDBC)驱动、DB2 Java驱动(db2java.jar)、Informix数据库、Oracle数据库以及Java连接测试程序。 首先,Java...

    db2jcc_license_cu/db2java/db2jcc

    标题中的"db2jcc_license_cu/db2java/db2jcc"揭示了这些文件与IBM的DB2数据库连接器有关,特别是Java版本的驱动程序。DB2是IBM提供的一款关系型数据库管理系统,广泛用于企业级的数据存储和管理。在Java环境中,为了...

Global site tag (gtag.js) - Google Analytics