小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

DB2 與 JDBC 支持

 chinaquake 2006-08-23

DB2 與 JDBC 支持

依照 JDBC 規(guī)范,有四種類型的 JDBC 驅(qū)動(dòng)程序體系結(jié)構(gòu):

  • Type 1:這類驅(qū)動(dòng)程序?qū)?JDBC API 作為到另一個(gè)數(shù)據(jù)訪問 API 的映射來實(shí)現(xiàn),如開放式數(shù)據(jù)庫連通性(Open Database Connectivity,ODBC)。這類驅(qū)動(dòng)程序通常依賴本機(jī)庫,這限制了其可移植性。JDBC-ODBC 橋驅(qū)動(dòng)程序就是 Type 1 驅(qū)動(dòng)程序的最常見的例子。
  • Type 2:這類驅(qū)動(dòng)程序部分用 JAVA 編程語言編寫,部分用本機(jī)代碼編寫。這些驅(qū)動(dòng)程序使用特定于所連接數(shù)據(jù)源的本機(jī)客戶端庫。同樣,由于使用本機(jī)代碼,所以其可移植性受到限制。
  • Type 3:這類驅(qū)動(dòng)程序使用純 JAVA 客戶機(jī),并使用獨(dú)立于數(shù)據(jù)庫的協(xié)議與中間件服務(wù)器通信,然后中間件服務(wù)器將客戶機(jī)請求傳給數(shù)據(jù)源。
  • Type 4:這類驅(qū)動(dòng)程序是純 JAVA,實(shí)現(xiàn)針對特定數(shù)據(jù)源的網(wǎng)絡(luò)協(xié)議??蛻魴C(jī)直接連接至數(shù)據(jù)源。

對于DB2 UDB V7.2來說,它不支持 Type 1 和 Type 4 的驅(qū)動(dòng)程序,但是提供了分別支持 Type 2 和 Type 3 的驅(qū)動(dòng)程序。

示例如下:

兩種驅(qū)動(dòng)程序均隨產(chǎn)品安裝由 db2java.zip 提供。

  • COM.ibm.db2.jdbc.app.DB2Driver

這是一種 Type 2 的 JDBC 驅(qū)動(dòng)程序,它通過 DB2 本地客戶機(jī)庫的幫助建立和 DB2本地?cái)?shù)據(jù)庫或是遠(yuǎn)程數(shù)據(jù)庫的連接(事先將遠(yuǎn)程數(shù)據(jù)庫編目到本地)。因此,我們必須在應(yīng)用系統(tǒng)所在的機(jī)器上同時(shí)部署 DB2 本地客戶機(jī)庫,這也許是它最大的一個(gè)不足之處。

使用格式如下:

Driver Name:COM.ibm.db2.jdbc.app.DB2Driver

URL Pattern:jdbc:db2:databasename

databasename: 需要訪問的數(shù)據(jù)庫名

  • COM.ibm.db2.jdbc.net.DB2Driver

這是一種 Type 3 的 JDBC 驅(qū)動(dòng)程序,它通過與一臺已經(jīng)部署了 DB2 本地客戶機(jī)庫的機(jī)器通信來建立和 DB2 遠(yuǎn)程數(shù)據(jù)庫的連接。

使用格式如下:

Driver Name:COM.ibm.db2.jdbc.net.DB2Driver

URL Pattern:jdbc:db2:ServerIP:databasename

ServerIP: 需要訪問的數(shù)據(jù)庫所在機(jī)器IP地址

databasename: 需要訪問的數(shù)據(jù)庫名

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

對于 DB2 UDB V8.1 來說,它仍然不支持 Type 1 的驅(qū)動(dòng)程序。同時(shí),它在 DB2 UDB V8.1的基礎(chǔ)上,新增加了對 Type 4 驅(qū)動(dòng)程序的支持。

示例如下:

DB2 UDB V8.1 仍然支持上面所述 V7.2 支持的兩種驅(qū)動(dòng)程序,隨產(chǎn)品安裝由 db2java.zip 提供,但具體實(shí)現(xiàn)上和 DB2 UDB V7.2 產(chǎn)品發(fā)布的包有所不同,所以可能存在下文所要進(jìn)行實(shí)驗(yàn)驗(yàn)證的兼容性問題。

除了 COM.ibm.db2.jdbc.app.DB2Driver 之外,DB2 UDB V8.1 還提供了另外一種 Type 2 的驅(qū)動(dòng)程序,隨產(chǎn)品安裝由 db2jcc.jar 提供。其實(shí)現(xiàn)包名是 com.ibm.db2.jcc.DB2Driver,在DB2 UDB V8.1 最初的實(shí)現(xiàn)中,此驅(qū)動(dòng)程序只用于使用 Type 4 驅(qū)動(dòng)程序體系結(jié)構(gòu)與 DB2 服務(wù)器進(jìn)行直接的 JAVA 連接,這類驅(qū)動(dòng)程序由于不需要另外部署 DB2 本地客戶機(jī)庫以及性能相對較好而收到開發(fā)人員的歡迎。自從 DB2 UDB V8.1.2(安裝了 FixPack 2)之后,開發(fā)人員還可以在 Type 2 體系結(jié)構(gòu)中使用該驅(qū)動(dòng)程序,以提高本地應(yīng)用程序的性能。

這里,兩種驅(qū)動(dòng)程序具有相同的實(shí)現(xiàn)類名稱,有兩種不同的方法可以區(qū)分 DB2 系統(tǒng)在內(nèi)部最終會實(shí)例化哪個(gè)驅(qū)動(dòng)程序:

折騰了一天,原來是驅(qū)動(dòng)的問題,郁悶

完整代碼:import java.sql.*;
public class Test{
  public Test() {
  }

  public static void main(String[] args) {
     try{
      Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();
      String url = "jdbc:db2://10.64.1.202:50000/QICC_DB";
      String user = "wpl";
      String password = "111";

      Connection conn = DriverManager.getConnection(url, user, password);
      Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                                            ResultSet.CONCUR_UPDATABLE);

      String sql = "select * from XZ_GDZC";
      ResultSet rs = stmt.executeQuery(sql);
      while (rs.next()) {
        System.out.println(rs.getString(1));
        System.out.println(rs.getString(2));
      }
    }catch(Exception ex)
    {
      System.out.println(ex);
    }

  }
}



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=110527

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多