`

Java连接DB2

    博客分类:
  • java
阅读更多

这里先说一下,DB2和JDBC驱动的问题,这个是摘来的。

Java代码 复制代码 收藏代码
  1. 解读java连接db2的四种类型   
  2.   
  3. 第一种:目前IBM一直都没有提供 TYPE 1的JDBC驱动程序.    
  4.   
  5. 第二种:类型2驱动:COM.ibm.db2.jdbc.app.DB2Driver, 该驱动也位于包 db2java.zip中,JDK必须能访问db2的db2jdbc.dll等。    
  6.   
  7. 用法:    
  8. Class.forName("COM.ibm.db2.jdbc.app.DB2Driver").newInstance();    
  9. String url = "jdbc:db2:sample";    
  10. Connection con = DriverManager.getConnection(url, user, password);    
  11.   
  12.   
  13. TYPE 2 驱动使 Java 应用程序通过JDBC调用DB2.对 DB2 JDBC type 2 driver 的调用被转换成 Java 本地方法.Java 使用这种驱动程序的应用程序必须运行在一个 DB2 客户机上,JDBC 请求通过这个客户机转到 DB2 服务器.在使用 DB2 JDBC 应用程序驱动程序访问 DB2 UDB for iSeries 数据源或者 DB2 for OS/390 或 z/OS 环境中的数据源之前,必须安装 DB2 Connect Version 8.DB2 JDBC type 2 driver 支持 JDBC 1.2 规范中描述的大部分 JDBC 和 SQLJ 函数,并且支持 JDBC 2.0 规范中描述的一些函数.    
  14.   
  15. 第三种:类型3驱动:COM.ibm.db2.jdbc.net.DB2Driver, 该驱动位于包 db2java.zip中.    
  16.   
  17. 用法:    
  18. Class.forName("COM.ibm.db2.jdbc.net.DB2Driver").newInstance();    
  19. //目标DB2系统侦听该服务于默认端口6789    
  20. //需要在数据库服务器端启动db2jstrt命令,来开启网络端口    
  21. String url = "jdbc:db2://host:6789:SAMPLE";    
  22. Connection con = DriverManager.getConnection(url, user, password);    
  23.   
  24.   
  25. 第四种:类型4驱动:com.ibm.db2.jcc.DB2Driver, 该驱动位于包db2jcc.jar中.    
  26.   
  27. 这种情况:数据库的编码为utf-8,否则报错!    
  28.   
  29. 用法:    
  30. Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();    
  31. String url = "jdbc:db2://host:50000/SAMPLE";    
  32. Connection con = DriverManager.getConnection(url, user, password);   
解读java连接db2的四种类型

第一种:目前IBM一直都没有提供 TYPE 1的JDBC驱动程序. 

第二种:类型2驱动:COM.ibm.db2.jdbc.app.DB2Driver, 该驱动也位于包 db2java.zip中,JDK必须能访问db2的db2jdbc.dll等。 

用法: 
Class.forName("COM.ibm.db2.jdbc.app.DB2Driver").newInstance(); 
String url = "jdbc:db2:sample"; 
Connection con = DriverManager.getConnection(url, user, password); 


TYPE 2 驱动使 Java 应用程序通过JDBC调用DB2.对 DB2 JDBC type 2 driver 的调用被转换成 Java 本地方法.Java 使用这种驱动程序的应用程序必须运行在一个 DB2 客户机上,JDBC 请求通过这个客户机转到 DB2 服务器.在使用 DB2 JDBC 应用程序驱动程序访问 DB2 UDB for iSeries 数据源或者 DB2 for OS/390 或 z/OS 环境中的数据源之前,必须安装 DB2 Connect Version 8.DB2 JDBC type 2 driver 支持 JDBC 1.2 规范中描述的大部分 JDBC 和 SQLJ 函数,并且支持 JDBC 2.0 规范中描述的一些函数. 

第三种:类型3驱动:COM.ibm.db2.jdbc.net.DB2Driver, 该驱动位于包 db2java.zip中. 

用法: 
Class.forName("COM.ibm.db2.jdbc.net.DB2Driver").newInstance(); 
//目标DB2系统侦听该服务于默认端口6789 
//需要在数据库服务器端启动db2jstrt命令,来开启网络端口 
String url = "jdbc:db2://host:6789:SAMPLE"; 
Connection con = DriverManager.getConnection(url, user, password); 


第四种:类型4驱动:com.ibm.db2.jcc.DB2Driver, 该驱动位于包db2jcc.jar中. 

这种情况:数据库的编码为utf-8,否则报错! 

用法: 
Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance(); 
String url = "jdbc:db2://host:50000/SAMPLE"; 
Connection con = DriverManager.getConnection(url, user, password); 




Java代码 复制代码 收藏代码
  1.   
  2. DB2的JDBC驱动   
  3.   
  4. 在Java程序中连接DB2需要使用到JDBC驱动,一般情况下,大家都在会项目工程中引入驱动程序包 db2java.zip或者db2jcc.jar。db2java.zip中包含了驱动COM.ibm.db2.jdbc.app.DB2Driver和 COM.ibm.db2.jdbc.net.DB2Driver;db2jcc.jar中包含了驱动 com.ibm.db2.jcc.DB2Driver。   
  5.   
  6. COM.ibm.db2.jdbc.app.DB2Driver是Type2的驱动,它的URL:jdbc:db2:<databasename>; Type2的驱动需要在本地安装DB2的客户端程序,<databasename>就是你在DB2客户端程序里面设置的Database名称。   
  7.   
  8. COM.ibm.db2.jdbc.net.DB2Driver是Type3的驱动,它的 URL:jdbc:db2:<ServerIP>:<databasename>;Type3的驱动不需要在本地安装客户端程序,但是在Database Server或者Database middleware上需要安装转换程序。COM.ibm.db2.jdbc.net.DB2Driver先连接到转换程序,然后再转发给DB2 server.   
  9.   
  10. com.ibm.db2.jcc.DB2Driver既是Type2又是Type4的驱动。如果URL为 jdbc:db2:<databasename>, 那就是Type2类型;如果url为jdbc:db2://<ServerIP>:<port> /<databasename>, 那就是Type4类型。Type4类型指DB Server内建了Java支持,不需要安装任何额外程序。   
  11.   
  12. 可以根据DB2的版本以及用户需求来选择使用哪种驱动。V8.1之前的DB2只支持db2java.zip中的驱动程序;V8.1.2及以后的DB2支持db2java.zip和db2jcc.jar中所有驱动。   
  13. Type4的驱动是最简便的,不需安装任何程序,而且现在大部分DB都内建了Java支持;Type2的驱动可以提高本地连接效率,但是需要安装客户端程序;这也是两种最常用的驱动程序。   
  14.   
  15. 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mayabin/archive/2010/12/08/6063019.aspx  
DB2的JDBC驱动

在Java程序中连接DB2需要使用到JDBC驱动,一般情况下,大家都在会项目工程中引入驱动程序包 db2java.zip或者db2jcc.jar。db2java.zip中包含了驱动COM.ibm.db2.jdbc.app.DB2Driver和 COM.ibm.db2.jdbc.net.DB2Driver;db2jcc.jar中包含了驱动 com.ibm.db2.jcc.DB2Driver。

COM.ibm.db2.jdbc.app.DB2Driver是Type2的驱动,它的URL:jdbc:db2:<databasename>; Type2的驱动需要在本地安装DB2的客户端程序,<databasename>就是你在DB2客户端程序里面设置的Database名称。

COM.ibm.db2.jdbc.net.DB2Driver是Type3的驱动,它的 URL:jdbc:db2:<ServerIP>:<databasename>;Type3的驱动不需要在本地安装客户端程序,但是在Database Server或者Database middleware上需要安装转换程序。COM.ibm.db2.jdbc.net.DB2Driver先连接到转换程序,然后再转发给DB2 server.

com.ibm.db2.jcc.DB2Driver既是Type2又是Type4的驱动。如果URL为 jdbc:db2:<databasename>, 那就是Type2类型;如果url为jdbc:db2://<ServerIP>:<port> /<databasename>, 那就是Type4类型。Type4类型指DB Server内建了Java支持,不需要安装任何额外程序。

可以根据DB2的版本以及用户需求来选择使用哪种驱动。V8.1之前的DB2只支持db2java.zip中的驱动程序;V8.1.2及以后的DB2支持db2java.zip和db2jcc.jar中所有驱动。
Type4的驱动是最简便的,不需安装任何程序,而且现在大部分DB都内建了Java支持;Type2的驱动可以提高本地连接效率,但是需要安装客户端程序;这也是两种最常用的驱动程序。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mayabin/archive/2010/12/08/6063019.aspx




Db2代码 复制代码 收藏代码
  1. create database express;   
  2.   
  3. use express;   
  4.   
  5. create table vote(   
  6. id integer primary key,   
  7. name varchar(200),   
  8. num integer   
  9. );  
create database express;

use express;

create table vote(
id integer primary key,
name varchar(200),
num integer
);



下面是Java连接DB2的代码:

Java代码 复制代码 收藏代码
  1. package com.java.call.db;   
  2.   
  3. import java.sql.Connection;   
  4. import java.sql.DriverManager;   
  5. import java.sql.ResultSet;   
  6. import java.sql.Statement;   
  7.   
  8. public class CallDb {   
  9.     public static void main(String args[]){   
  10.         Connection conn=null;   
  11.         Statement stmt=null;   
  12.         ResultSet rs=null;   
  13.         try{   
  14.             Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();   
  15.             conn=DriverManager.getConnection("jdbc:db2://localhost:50000/express","acer","abin");   
  16.             stmt=conn.createStatement();   
  17.             rs=stmt.executeQuery("select * from vote");   
  18.             while(rs.next()){   
  19.                 System.out.println(rs.getString(1));   
  20.                 System.out.println(rs.getString(2));   
  21.                 System.out.println(rs.getString(3));   
  22.             }   
  23.         }catch(Exception e){   
  24.             e.printStackTrace();   
  25.         }   
  26.     }   
  27.        
  28.   
  29. }  
package com.java.call.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class CallDb {
	public static void main(String args[]){
		Connection conn=null;
		Statement stmt=null;
		ResultSet rs=null;
		try{
			Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();
			conn=DriverManager.getConnection("jdbc:db2://localhost:50000/express","acer","abin");
			stmt=conn.createStatement();
			rs=stmt.executeQuery("select * from vote");
			while(rs.next()){
				System.out.println(rs.getString(1));
				System.out.println(rs.getString(2));
				System.out.println(rs.getString(3));
			}
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	

}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics