日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
Java連接DB2數(shù)據(jù)庫(kù)之實(shí)戰(zhàn)演示

此文章主要講述的是Java連接DB2數(shù)據(jù)庫(kù)的實(shí)際操作過(guò)程,如果你在實(shí)際操作中遇到Java連接DB2數(shù)據(jù)庫(kù)的實(shí)際操作過(guò)程,但是你卻不知道對(duì)其如何正確的解決,那么以下的文章對(duì)你而言一定是良師益友。

1. 關(guān)于Connection Pool

JDBC本身不提供連接池技術(shù),需要第三方庫(kù)的支持。

在需要頻繁獲得連接的Application中***用Connection Pool,如Web Application中

對(duì)于一般的Java Application則可以直接用JDBC連接連接DB2數(shù)據(jù)庫(kù)。

2. Java Application中連接DB2

安裝DB2 Personal Edition V9之后,在其中的java目錄可以找到這兩個(gè)文件:db2jcc.jar; db2jcc_license_cu.jar

db2jcc.jar中的com.ibm.db2.jcc.DB2Driver驅(qū)動(dòng)程序被稱為通用驅(qū)動(dòng),推薦使用(原因看第5點(diǎn))。在使用它時(shí),需要db2jcc_license_cu.jar,否則會(huì)提示沒(méi)有l(wèi)icense而無(wú)法工作。

DB2的連接地址:jdbc:db2://localhost:50000/Database

3. Web Application中連接DB2

一、以WAS為例,配置DB2 Data Source

1) 進(jìn)入控制臺(tái)

啟動(dòng)Websphere6.0服務(wù), 打開(kāi)瀏覽器,在地址欄中輸入:http://localhost:9060/ibm/console/,登陸Websphere6.0管理控制臺(tái)

2) 設(shè)置環(huán)境變量

在導(dǎo)航欄左側(cè)選擇: Environment -> Websphere Variables, 找到DB2UNIVERSAL_JDBC_DRIVER_PATH, 輸入DB2數(shù)據(jù)庫(kù)驅(qū)動(dòng)jar包的位置,比如C:\Program Files\IBM\SQLLIB\java。確定,保存。

注意:通過(guò)管理工具訪問(wèn)遠(yuǎn)程機(jī)器的時(shí)候,設(shè)置的數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序jar包,須為應(yīng)用服務(wù)器所在機(jī)器的位置,而不是本機(jī)驅(qū)動(dòng)所在位置,否則服務(wù)將無(wú)法加載驅(qū)動(dòng)程序,測(cè)試數(shù)據(jù)源連接連接DB2數(shù)據(jù)庫(kù)將失敗。

3) 創(chuàng)建JDBC Provider

在導(dǎo)航欄左側(cè)選擇: Resources -> JDBC -> JDBC Providers。在右側(cè)點(diǎn)New. 設(shè)置Database type選擇DB2; Provider type 選擇 DB2 Universal JDBC Driver Provider; Implementation type 選擇 Connection pool data source(這里需要注意的是,非英文用戶可能會(huì)出錯(cuò),只需打開(kāi)控制面板 -> 區(qū)域和語(yǔ)言選項(xiàng) -> 區(qū)域選項(xiàng) 中的 標(biāo)準(zhǔn)和格式選成英語(yǔ)(美國(guó))即可); Name可以隨意設(shè)置; 點(diǎn)擊Next; Next; Finish; Save。

4) 創(chuàng)建Data source

在導(dǎo)航欄左側(cè)選擇: Resources -> JDBC -> Data sources. 在右側(cè)點(diǎn)New. 設(shè)置Data source name; 設(shè)置JNDI name; Next; 選擇剛才新建的JDBC Provider; Next; Database name 設(shè)成你的數(shù)據(jù)庫(kù)名; Driver type 選 4; Server name 設(shè)成server的ip; Port 設(shè)為 50000; Next; Finish; Save.

5) 選擇剛創(chuàng)建的Data source, 在Related Items中配置JAAS, Alias設(shè)置別名; User ID和Password設(shè)為訪問(wèn)DB2的用戶名和密碼; OK; Save.

6) 進(jìn)入之前的Data source, 在Component-managed authentication alias中選擇剛配置的JAAS; OK; Save.

7) 選中該Data source, 點(diǎn)Test connection 進(jìn)行測(cè)試.

二、在JEE項(xiàng)目中調(diào)用Data source

在JEE項(xiàng)目中需要在servlet中獲得Datasource,方法如下:

 
 
 
  1. public class DBConnector {  
  2. public static Connection getConnection() throws SQLException, NamingException {  
  3. Context ctx = new InitialContext();  
  4. DataSource ds = (DataSource) ctx.lookup("jdbc/db2"); 

jdbc/db2為上面WAS中

 
 
 
  1. Connection conn = ds.getConnection();  
  2. }  

在某個(gè)Servlet中的doPost或者doGet方法中調(diào)用DBConnector.getConnection()方法即可。

4. DB2的連接接口

DB2 提供了兩種API:JDBC 和 SQLJ。

SQLJ 是一個(gè)用于從 Java 應(yīng)用程序進(jìn)行數(shù)據(jù)訪問(wèn)的標(biāo)準(zhǔn)開(kāi)發(fā)模型。SQLJ API 是在 SQL 1999 規(guī)范中定義的。

JDBC 驅(qū)動(dòng)程序分為舊的CLI 驅(qū)動(dòng)程序和新的通用JDBC 驅(qū)動(dòng)程序(Universal JDBC Driver)。新的通用 JDBC 驅(qū)動(dòng)程序在一個(gè)實(shí)現(xiàn)中同時(shí)為 JDBC 和 SQLJ API 提供了支持。JDBC 和 SQLJ 可以在同一個(gè)應(yīng)用程序中互操作。

5. JDBC連接連接DB2數(shù)據(jù)庫(kù)方式及DB2驅(qū)動(dòng)的關(guān)系

JDBC 驅(qū)動(dòng)程序體系結(jié)構(gòu)分為四種類(lèi)型,Type1,Type2,Type3,Type4。

JDBC Type 1 驅(qū)動(dòng)程序基于 JDBC-ODBC 橋。因此 ODBC 驅(qū)動(dòng)程序可以與此類(lèi) JDBC 驅(qū)動(dòng)程序(由 Sun 提供)結(jié)合起來(lái)使用。IBM 不支持 Type 1 驅(qū)動(dòng)程序,因此它不是推薦的環(huán)境。

JDBC Type 2 驅(qū)動(dòng)程序依靠特定于操作系統(tǒng)的庫(kù)(共享庫(kù))來(lái)與 RDBMS 通信。應(yīng)用程序?qū)⒀b入這種 JDBC 驅(qū)動(dòng)程序,而驅(qū)動(dòng)程序?qū)⑹褂霉蚕韼?kù)來(lái)與 DB2 服務(wù)器通信。DB2提供了兩種不同的 Type 2 驅(qū)動(dòng)程序:

舊的CLI JDBC 驅(qū)動(dòng)程序 在文件 db2java.zip 中提供。其實(shí)現(xiàn)包名稱為 COM.ibm.db2.jdbc.app.DB2Driver 。其別名“app 驅(qū)動(dòng)程序”源自于一種觀念及其包名稱,這種觀念就是:此驅(qū)動(dòng)程序?qū)⑼ㄟ^(guò)遠(yuǎn)程數(shù)據(jù)庫(kù)的本地 DB2 UDB 客戶機(jī)執(zhí)行本地連接。

通用 JDBC 驅(qū)動(dòng)程序 在文件 db2jcc.jar 中提供。其實(shí)現(xiàn)包名稱為 com.ibm.db2.jcc.DB2Driver 。在最初的實(shí)現(xiàn)(V8.1)中,此驅(qū)動(dòng)程序用于使用 Type 4 驅(qū)動(dòng)程序體系結(jié)構(gòu)與 DB2 服務(wù)器進(jìn)行直接的 Java 連接。

在 Type 2 體系結(jié)構(gòu)中使用此驅(qū)動(dòng)程序的一個(gè)主要原因是為了本地應(yīng)用程序性能和分布式事務(wù)支持。通用 JDBC Type 2 驅(qū)動(dòng)程序分別使用 com.ibm.db2.jcc.DB2XADataSource 和 com.ibm.db2.jcc.DB2ConnectionPoolDataSource 來(lái)支持分布式事務(wù)和連接池。

JDBC Type 3 驅(qū)動(dòng)程序是一種純 Java 實(shí)現(xiàn),它必須與 DB2 JDBC Applet 服務(wù)器(DB2 JDBC Applet Server)通信才能訪問(wèn) DB2 數(shù)據(jù)。此類(lèi)驅(qū)動(dòng)程序旨在使 Java applet 能訪問(wèn) DB2 數(shù)據(jù)源。

JDBC Type 3 驅(qū)動(dòng)程序常被稱作“網(wǎng)絡(luò)(net)驅(qū)動(dòng)程序”,它是根據(jù)其包名 COM.ibm.db2.jdbc.net 命名的。Type 3 驅(qū)動(dòng)程序要求 db2java.zip 驅(qū)動(dòng)程序總是處于與 DB2 Applet 服務(wù)器相同的維護(hù)級(jí)別。如果驅(qū)動(dòng)程序在 applet 內(nèi)使用,這就不是一個(gè)問(wèn)題,因?yàn)闉g覽器會(huì)在應(yīng)用程序執(zhí)行期間下載相應(yīng)的 db2java.zip 文件。

許多客戶使用 Type 3 驅(qū)動(dòng)程序而不是 Type 2 驅(qū)動(dòng)程序,以避免必需的 DB2 客戶機(jī)安裝和必需的 DB2 CATALOG DATABASE 命令,后者用于創(chuàng)建使用舊的CLI 驅(qū)動(dòng)程序進(jìn)行 Type 2 連接所必需的數(shù)據(jù)庫(kù)目錄信息。目前,WebSphere Application Server 和其它 J2EE 服務(wù)器不支持 IBM Type 3 驅(qū)動(dòng)程序,因?yàn)樵擈?qū)動(dòng)程序不支持分布式事務(wù)(JTA)。

Type 4 驅(qū)動(dòng)程序是僅用于 Java 的 JDBC 驅(qū)動(dòng)程序,它直接連接連接DB2數(shù)據(jù)庫(kù)到數(shù)據(jù)庫(kù)服務(wù)器。DB2 V8.1 引入了稱為“通用 JDBC 驅(qū)動(dòng)程序(Universal JDBC driver)”的 Type 4 驅(qū)動(dòng)程序。通用 JDBC 驅(qū)動(dòng)程序在文件 db2jcc.jar 中提供。其實(shí)現(xiàn)包名為 com.ibm.db2.jcc.DB2Driver 。

請(qǐng)注意,通用 Type 2 和通用 Type 4 驅(qū)動(dòng)程序具有相同的實(shí)現(xiàn)類(lèi)名稱。有兩種方法可以區(qū)別 DB2 在內(nèi)部將實(shí)例化哪個(gè)驅(qū)動(dòng)程序:

使用不同的連接URL模式來(lái)指示您想要Type 2和Type 4行為中的哪一種。

Type 4 URL 模式的示例:字符串“jdbc:db2://server1:50000/sample”。要求 JDBC 驅(qū)動(dòng)程序?qū)?Java 應(yīng)用程序直接連接到 DB2 服務(wù)器上名為“sample”的數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)位于配置在 DB2 服務(wù)器(主機(jī)名為 server1)上的 DB2 實(shí)例中,而 DB2 服務(wù)器則在端口 50000 上進(jìn)行偵聽(tīng)。

Type 2 URL 模式的示例:字符串“ jdbc:db2:sample ”。

重要:就 DB2 UDB V8.1.2 而言,通用 JDBC 驅(qū)動(dòng)程序要求 CLASSPATH 中有許可證 JAR 文件和 db2jcc.jar 文件。以下是所需的許可證 JAR 文件:

對(duì)于 Cloudscape? Network Server V5.1: db2jcc_license_c.jar

對(duì)于 DB2 UDB V8 for Linux, UNIX 和 Windows 服務(wù)器: db2jcc_license_su.jar

對(duì)于 DB2 UDB for iSeries? and z/OS 服務(wù)器(與 DB2 Connect 和 DB2 Enterprise Server Edition 一起提供): db2jcc_license_cisuz.jar

6. 更多內(nèi)容

參見(jiàn):http://blog.csdn.net/peart_boy/archive/2006/10/16/1336201.aspx


名稱欄目:Java連接DB2數(shù)據(jù)庫(kù)之實(shí)戰(zhàn)演示
URL地址:http://www.dlmjj.cn/article/coiceec.html