我与Db2 9新特性的零距离体验
2007-11-02 21:41:26 来源:WEB开发网核心提示: 连接操作 DB2与JDBC 为了连接数据库,需要使用DB2 JDBC技术,我与Db2 9新特性的零距离体验(2),依照 JDBC 规范,有四种类型的 JDBC 驱动程序体系结构: Type 1:这类驱动程序将 JDBC API 作为到另一个数据访问 API 的映射来实现,在该配置文件里有连接数据库的地
连接操作
DB2与JDBC
为了连接数据库,需要使用DB2 JDBC技术,依照 JDBC 规范,有四种类型的 JDBC 驱动程序体系结构:
Type 1:这类驱动程序将 JDBC API 作为到另一个数据访问 API 的映射来实现,如开放式数据库连通性(Open Database Connectivity,ODBC)。这类驱动程序通常依赖本机库,这限制了其可移植性。JDBC-ODBC 桥驱动程序就是 Type 1 驱动程序的最常见的例子。
Type 2:这类驱动程序部分用 JAVA 编程语言编写,部分用本机代码编写。这些驱动程序使用特定于所连接数据源的本机客户端库。同样,由于使用本机代码,所以其可移植性受到限制。
Type 3:这类驱动程序使用纯 JAVA 客户机,并使用独立于数据库的协议与中间件服务器通信,然后中间件服务器将客户机请求传给数据源。
Type 4:这类驱动程序是纯 JAVA,实现针对特定数据源的网络协议。客户机直接连接至数据源。
其中COM.ibm.db2.jdbc.app.DB2Driver和COM.ibm.db2.jdbc.net.DB2Driver
都在db2java.zip文件中,可以把他改名成db2java.jar文件使用。 通用驱动程序,放在文件db2jcc.jar文件中。
这三种驱动的程序加载和连接建立方法如下:
//Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");//Class.forName("COM.ibm.db2.jdbc.net.DB2Driver");//Class.forName("com.ibm.db2.jcc.DB2Driver");//连接例子可以相同,都是指定主机,端口和数据库名称 String dbUrl ="jdbc:db2://localhost:6789/sample";con = DriverManager.getConnection(dbUrl,"www","123456");连接的例子
在这里我们使用的是通用驱动程序,并采用配置文件的形式,其配置文件是db2Conn.properties。在该配置文件里有连接数据库的地址,用户名,密码和数据库名等。其代码如下:
# Properties file for java xml(标准化越来越近了) samples# Created on Nov 3, 2004# Description: file containing the value that automate the execution and testing of functions#rollbackCommit=rollback#interactive=yes# Modify the following according to your machine log inhostName=localhostportNumber=50000password=lysdatabaseName=SAMPLEuserName=Administrator# Modify the following to test different situations#purchaseOrder_id=1020#pID=100-101-01fileName=F:\\eclipse\\WorkPlace\\DB2xml(标准化越来越近了)\\src\\p5.xml(标准化越来越近了)读取配置文件和连接数据库的类(db2Conn.java)代码如下:
/**//** Created on Jul 8, 2004**//**//*** File: db2Conn.java** Desc: Utility Class for establishing DB2 connection via JCC Type 4 Driver*/import java.sql.*;public class db2Conn ...{/**//*** Default Constructor*/public db2Conn() ...{}/**//** Get Database connection using Database name, username, password, machine name and port number*/public static Connection get(String db, String userName, String passwd, String host, String port)...{Connection conn=null;try ...{/**//** Load the DB2(R) JCC driver with DriverManager **/Class.forName("com.ibm.db2.jcc.DB2Driver");/**//** Create Database URL and establish DB Connection **/String databaseURL = "jdbc:db2://"+host+":"+port+"/"+db;java.util.Properties properties = new java.util.Properties ();properties.setProperty ("user", userName);properties.setProperty ("password", passwd);conn = DriverManager.getConnection(databaseURL,properties);/**//** print any error messages **/if(conn==null)System.out.println("Connection Failed \n");}catch (ClassNotFoundException e) ...{System.out.println("Exception in DB2Connection");e.printStackTrace();}catch (java.sql.SQLException e) ...{e.printStackTrace();System.exit(-1); }return conn;}}
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
- ››DB2 XML 编程,第 1 部分: 理解 XML 数据模型
- ››DB2 pureScale 实战
更多精彩
赞助商链接