IDE:eclipse, language:java; db:db2 ; dbDriver:jdbc(2)

使用jdbc訪問db2

1、  eclipse中配置jdbc驅動:

工程名->右鍵單擊->BuildPath->Configure build path(Referenced Libraries)

 

 

之後添加Jdbc驅動,驅動在DB2安裝目錄下(我安裝在E:/Program Files/IBM目錄)

 驅動程序放在目錄:E:/Program Files/IBM/SQLLIB/java目錄下。


db2
的數據庫驅動有幾種,一種是COM.ibm.db2.jdbc.app.DB2Driver;另一種是COM.ibm.db2.jdbc.net.DB2Driver
這兩種都在db2java.zip文件中,添加即可。

第三種是通用驅動程序,放在文件db2jcc.jar文件中。

 

2、  理解jdbc四種連接方式:

  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.DB2XADataSourcecom.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.1db2jcc_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下,否則不行地啦

   

  使用<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

 

3、  license文件

爲了對數據庫訪問,還需要licence文件。

它也在E:/Program Files/IBM/SQLLIB/java目錄下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章