自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何才能對(duì)DB2驅(qū)動(dòng)類型有更好的理解

數(shù)據(jù)庫(kù)
我們今天主要向大家描述的是DB2驅(qū)動(dòng)類型的全面接觸,你如果是DB2驅(qū)動(dòng)類型的瘋狂一族的話,以下的文章,你一定不要錯(cuò)過(guò)。

以下的文章主要是介紹DB2驅(qū)動(dòng)類型全面接觸,我們大家都知道IBM公司的數(shù)據(jù)庫(kù)產(chǎn)品線中不同版本所提供的相關(guān)數(shù)據(jù)訪問(wèn)API,其可以說(shuō)以是很多了,其中包括早期的基于CLI的驅(qū)動(dòng),最近的純Java的驅(qū)動(dòng),以及CLI和 Java的組合。

對(duì)于特定的DB2版本的驅(qū)動(dòng)有特定的驅(qū)動(dòng)也有通用的驅(qū)動(dòng),這是很明顯的.但是諸多版本的數(shù)據(jù)庫(kù)系統(tǒng)和諸多版本的訪問(wèn)驅(qū)動(dòng),放在客戶面前,它們之間的關(guān)系顯得有些紛繁.

所以在使用IBM的數(shù)據(jù)庫(kù)產(chǎn)品時(shí),頭腦中一定要注意版本對(duì)應(yīng)和選擇適當(dāng)?shù)耐ㄓ抿?qū)動(dòng).還好,IBM已經(jīng)開(kāi)始走向統(tǒng)一了,也開(kāi)始注意易用性了,這些努力從DB2 UDB V7就開(kāi)始了.從那時(shí)開(kāi)始,按照J(rèn)ava領(lǐng)域JDBC驅(qū)動(dòng)的類型劃分,IBM有了三類驅(qū)動(dòng)了.

DB2的JDBC TYPE 2 驅(qū)動(dòng)使 Java 應(yīng)用程序通過(guò)JDBC調(diào)用DB2.對(duì) DB2 JDBC type 2 driver 的調(diào)用被轉(zhuǎn)換成 Java 本地方法.Java 使用這種驅(qū)動(dòng)程序的應(yīng)用程序必須運(yùn)行在一個(gè) DB2 客戶機(jī)上,JDBC 請(qǐng)求通過(guò)這個(gè)客戶機(jī)轉(zhuǎn)到 DB2 服務(wù)器.

在使用 DB2 JDBC 應(yīng)用程序驅(qū)動(dòng)程序訪問(wèn) DB2 UDB for iSeries 數(shù)據(jù)源或者 DB2 for OS/390 或 z/OS 環(huán)境中的數(shù)據(jù)源之前,必須安裝 DB2 Connect Version 8.DB2 JDBC type 2 driver 支持 JDBC 1.2 規(guī)范中描述的大部分 JDBC 和 SQLJ 函數(shù),并且支持 JDBC 2.0 規(guī)范中描述的一些函數(shù).

DB2的JDBC TYPE 3 驅(qū)動(dòng),也被稱為applet 或net driver,它由一個(gè)JDBC 客戶機(jī)和一個(gè)JDBC 服務(wù)器(該進(jìn)程的名字是db2jd)組成.既可以在Applet中使用也可以在應(yīng)用程序中使用.

DB2的JDBC TYPE 4 驅(qū)動(dòng)被稱為通用驅(qū)動(dòng),是純Java實(shí)現(xiàn)的,該驅(qū)動(dòng)也支持SQLJ.

目前IBM一直都沒(méi)有提供 TYPE 1的JDBC驅(qū)動(dòng)程序.

這些類型驅(qū)動(dòng)程序所在的包是:db2jcc.jar 和 sqlj.zip 文件,sqllib\bin\db2jcct2.dll(該文件是 TYPE2所必需的).

使用

在使用 JDBC 連接 DB2 UDB V7.2 和 DB2 UDB V8.1 時(shí),如果碰到一些令人費(fèi)解的問(wèn)題,可以檢查一下開(kāi)發(fā)環(huán)境使用的JDK,在IBM提供的已知JDK中切換(目前有1.3和1.4版本),往往就能解決你的問(wèn)題。

DB2 UDB V8.2個(gè)人版本中,下面的測(cè)試代碼測(cè)試了三種連接方式,并給出了結(jié)果:

  1. import java.sql.*;  
  2. public class Employee {  
  3. /* 
  4. * @param args  
  5. */  
  6. public static void main(String[] args) {  
  7. // TODO Auto-generated method stub  
  8. Employee ee = new Employee();  
  9. try {  

ee.testJcc();//成功

ee.testNet();//成功

ee.testApp();//失敗,原因是:類型2需要安裝DB2訪問(wèn)客戶端,測(cè)試沒(méi)有安裝.如果要通過(guò)類型2訪問(wèn)遠(yuǎn)程數(shù)據(jù)庫(kù),可以把遠(yuǎn)程數(shù)據(jù)庫(kù)編目到本地后即可.

  1. } catch (Exception e) {  
  2. e.printStackTrace();  
  3. }  
  4. }  

內(nèi)容導(dǎo)航

測(cè)試驅(qū)動(dòng)體系結(jié)構(gòu)為類型4驅(qū)動(dòng):com.ibm.db2.jcc.DB2Driver, 該驅(qū)動(dòng)位于包db2jcc.jar中.

 

  1. @throws InstantiationException  
  2. @throws IllegalAccessException  
  3. @throws ClassNotFoundException  
  4. @throws SQLException  
  5. public void testJcc() throws InstantiationException,  
  6. IllegalAccessException, ClassNotFoundException, SQLException {  
  7. Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();  
  8. String url = "jdbc:db2://192.168.0.17:50000/SAMPLE";  
  9. Connection con = DriverManager.getConnection(url, "db2admin", "cherub");  
  10. con.setAutoCommit(false);  
  11. Statement stmt = con.createStatement();  
  12. ResultSet rs = stmt.executeQuery("select from Employee");  
  13. while (rs.next()) {  
  14. System.out.println(rs.getString(1) + "," + rs.getString(2));  
  15. }  
  16. }  

測(cè)試驅(qū)動(dòng)體系結(jié)構(gòu)為類型3驅(qū)動(dòng):COM.ibm.db2.jdbc.net.DB2Driver, 該驅(qū)動(dòng)位于包 db2java.zip中.

  1. @throws InstantiationException  
  2. @throws IllegalAccessException  
  3. @throws ClassNotFoundException  
  4. @throws SQLException  
  5. public void testNet() throws InstantiationException,  
  6. IllegalAccessException, ClassNotFoundException, SQLException {  
  7. Class.forName("COM.ibm.db2.jdbc.net.DB2Driver").newInstance();  

// 目標(biāo)DB2系統(tǒng)偵聽(tīng)該服務(wù)于默認(rèn)端口6789,否則還需要在 URL Pattern 中指定目標(biāo)端口號(hào)

  1. String url = "jdbc:db2:192.168.0.17:SAMPLE";  
  2. Connection con = DriverManager.getConnection(url, "db2admin", "cherub");  
  3. con.setAutoCommit(false);  
  4. Statement stmt = con.createStatement();  
  5. ResultSet rs = stmt.executeQuery("select from Employee");  
  6. while (rs.next()) {  
  7. System.out.println(rs.getString(1) + "," + rs.getString(2));  
  8. }  
  9. }  

測(cè)試驅(qū)動(dòng)體系結(jié)構(gòu)為類型2驅(qū)動(dòng):COM.ibm.db2.jdbc.app.DB2Driver, 該驅(qū)動(dòng)也位于包 db2java.zip中.

  1. @throws InstantiationException  
  2.  
  3. @throws IllegalAccessException  
  4.  
  5. @throws ClassNotFoundException  
  6.  
  7. @throws SQLException  
  8.  
  9. public void testApp() throws InstantiationException,  
  10. IllegalAccessException, ClassNotFoundException, SQLException {  
  11. Class.forName("COM.ibm.db2.jdbc.app.DB2Driver").newInstance();  
  12. String url = "jdbc:db2:sample";  
  13. Connection con = DriverManager.getConnection(url, "db2admin", "cherub");  
  14. con.setAutoCommit(false);  
  15. Statement stmt = con.createStatement();  
  16. ResultSet rs = stmt.executeQuery("select from Employee");  
  17. while (rs.next()) {  
  18. System.out.println(rs.getString(1) + "," + rs.getString(2));  
  19. }  
  20. }  
  21. }  

以上的相關(guān)內(nèi)容就是對(duì)DB2驅(qū)動(dòng)類型全面接觸的介紹,望你能有所收獲。

【編輯推薦】

  1. 3個(gè)建議實(shí)現(xiàn)DB2數(shù)據(jù)庫(kù)設(shè)計(jì),很簡(jiǎn)單!
  2. 降低DB2管理表空間的高水位標(biāo)記實(shí)操
  3. IBM DB2數(shù)據(jù)庫(kù)錯(cuò)誤信息的大集合,不得不看!
  4. DB2v9.5控制中心建庫(kù)報(bào)錯(cuò)如何挽救?
  5. DB2 數(shù)據(jù)類型如何才能輕松接觸?
責(zé)任編輯:佚名 來(lái)源: 163.com
相關(guān)推薦

2010-08-06 18:38:59

DB2快照函數(shù)

2010-08-09 15:44:44

DB2 數(shù)據(jù)類型

2010-07-27 15:02:30

DB2驅(qū)動(dòng)類型

2010-08-02 14:03:49

DB2驅(qū)動(dòng)類型

2010-09-07 10:24:26

DB2數(shù)據(jù)庫(kù)

2010-08-31 14:04:49

DB2驅(qū)動(dòng)

2010-08-11 09:14:33

DB2數(shù)據(jù)類型

2010-08-03 13:45:17

DB2快照函數(shù)

2010-08-05 15:40:07

DB2快照函數(shù)

2010-08-11 09:50:38

DB2 catalog

2010-11-02 11:22:06

DB2索引類型

2010-07-29 18:01:38

DB2性能

2010-08-18 10:46:38

DB2 code pa

2010-08-17 17:39:23

DB2取得當(dāng)前時(shí)間

2010-08-26 10:13:52

DB2java連接

2010-08-05 09:14:29

DB2隔離級(jí)別

2010-08-16 11:34:11

IBM DB2 V9.

2010-07-28 14:16:43

DB2驅(qū)動(dòng)類型

2010-08-17 15:31:54

DB2 存儲(chǔ)過(guò)程

2010-08-20 10:26:25

DB2數(shù)據(jù)類型
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)