1. 程式人生 > >Java連線DB2資料庫

Java連線DB2資料庫

s="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center;" align="center">Java 連線DB2資料庫

一.DB2 UDB 應用程式開發方法。

主要有以下幾種:

  • 使用 Java 基於 J2EE 程式設計模型開發應用程式。
  • 基於目前的 Microsoft® API 集(ADO ADO.net)開發 Windows®WebWinForm 和基於 .Net 的應用程式。
  • 使用 C/C++ 程式語言和 ODBC/CLI 介面開發應用程式。
  • 使用 Borland Delphi/Kylix 框架開發應用程式。
  • 使用側重於 Linux 的開放原始碼框架(PerlPython PHP 等等)開發應用程式。
  • 使用
    Web 服務開發跨平臺的業務邏輯。

DB2 UDB 的優點在於它支援上面的所有開發模型。

對於 Java程式設計師而言,DB2 提供了兩種應用程式程式設計介面(API):JDBC SQLJJDBC 驅動程式分為舊的/CLI 驅動程式和新的通用 JDBC 驅動程式(Universal JDBC Driver)。

JDBC 是一個與供應商無關的動態 SQL 介面,該介面通過標準化的 Java 方法向您的應用程式提供資料訪問。JDBC 類似於 DB2 CLI,因為您無須預編譯應用程式程式碼,也無須將軟體包繫結到 DB2 資料庫。作為一個與供應商無關的標準,JDBC 應用程式提供了更多的可移植性

這是當今異構業務基礎設施所必需的優點。在執行 JDBC 應用程式期間,驅動程式將針對當前連線的 DB2 資料庫伺服器驗證 SQL 語句。訪問期間的任何問題都會作為 Java 異常與相應的 SQLSTATE SQLCODE 一起報告給應用程式。

SQLJ 是一個用於從 Java 應用程式進行資料訪問的標準開發模型。SQLJ API 是在 SQL 1999 規範中定義的。新的通用 JDBC 驅動程式在一個實現中同時為 JDBC SQLJ API 提供了支援。JDBC SQLJ 可以在同一個應用程式中互操作。SQLJ 提供了獨特的使用靜態 SQL 語句進行開發以及在 DB2 包級別控制訪問的能力。

二.JDBC連線方式分析。

JDBC 版本

DB2 通用資料庫 V8.1 支援 JDBC V2.1 規範和部分 JDBC 3.0 規範。使用通用 JDBC 驅動程式,全面支援 JDBC 3.0 需求的計劃正在進行之中。

JDBC 驅動程式體系結構分類

JDBC 驅動程式體系結構分為四種類型,Type1,Type2,Type3,Type4

JDBC Type 1 驅動程式基於 JDBC-ODBC 橋。因此 ODBC 驅動程式可以與此類 JDBC 驅動程式(由 Sun 提供)結合起來使用。IBM 不支援 Type 1 驅動程式,因此它不是推薦的環境。圖 1 顯示了 JDBC Type 1 驅動程式的示例:

JDBC Type 2 驅動程式依靠特定於作業系統的庫(共享庫)來與 RDBMS 通訊。應用程式將裝入這種 JDBC 驅動程式,而驅動程式將使用共享庫來與 DB2 伺服器通訊。DB2 UDB for Linux, UNIX® Windows® V8.1 提供了兩種不同的 Type 2 驅動程式:

  • 舊的/CLI JDBC 驅動程式在檔案db2java.zip中提供。其實現包名稱為COM.ibm.db2.jdbc.app.DB2Driver。該驅動程式目前已被用於進行 J2EE 認證。其別名“app 驅動程式”源自於一種觀念及其包名稱,這種觀念就是:此驅動程式將通過遠端資料庫的本地 DB2 UDB 客戶機執行本地連線。
  • 通用 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來支援分散式事務和連線池。

可以使用 JDBC Type 2 驅動程式來支援 JDBC 應用程式。

注:在將來的版本中不會對舊的/CLI Type 2 驅動程式進行增強。 2 顯示了使用 JDBC Type 2 驅動程式的應用程式的典型拓撲結構:

JDBC Type 3 驅動程式

JDBC Type 3 驅動程式是一種純 Java 實現,它必須與 DB2 JDBC Applet 伺服器(DB2 JDBC Applet Server)通訊才能訪問 DB2 資料。此類驅動程式旨在使 Java applet 能訪問 DB2 資料來源。在圖 3 所顯示的方案中,應用程式與安裝有 DB2 客戶機另一臺機器進行通訊。

JDBC Type 3 驅動程式常被稱作“網路(net)驅動程式”,它是根據其包名COM.ibm.db2.jdbc.net命名的。DB2 V8.1 支援網路驅動程式,可以將其用於 JDBC 應用程式。 Type 3 驅動程式要求db2java.zip驅動程式總是處於與 DB2 Applet 伺服器相同的維護級別。如果驅動程式在 applet 內使用,這就不是一個問題,因為瀏覽器會在應用程式執行期間下載相應的db2java.zip檔案。許多客戶使用 Type 3 驅動程式而不是 Type 2 驅動程式,以避免必需的 DB2 客戶機安裝和必需的DB2 CATALOG DATABASE命令,後者用於建立使用舊的/CLI 驅動程式進行 Type 2 連線所必需的資料庫目錄資訊。目前,WebSphere Application Server 和其它 J2EE 伺服器不支援 IBM Type 3 驅動程式,因為該驅動程式不支援分散式事務(JTA)。將來的版本不會對 Type 3 驅動程式進行增強。

鼓勵使用通用 JDBC Type 4 驅動程式來替代 Type 3 驅動程式。

Type 4 驅動程式是僅用於 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 在內部將例項化哪個驅動程式:

  • 使用連線特性來確定連線是否使用共享庫(Type 2),或者驅動程式是否會啟動來自 Java 應用程式的直接連線(Type 4)。
  • 使用不同的連線URL模式來指示您想要Type 2Type 4行為中的哪一種。

Type 4 URL 模式的示例:字串“jdbc:db2://server1:50000/sample”。要求 JDBC 驅動程式將 Java 應用程式直接連線到 DB2 伺服器上名為“sample”的資料庫,該資料庫位於配置在 DB2 伺服器(主機名為 server1)上的 DB2 例項中,而 DB2 伺服器則在埠 50000 上進行偵聽。

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

通用 JDBC 驅動程式是一種與驅動程式型別連通性或目標平臺無關的抽象 JDBC 處理器。通用 JDBC 驅動器是一種與體系結構無關的 JDBC 驅動程式,用於進行分散式和本地 DB2 UDB 訪問。因為通用 JDBC 驅動程式獨立於任何特定 JDBC 驅動程式型別連通性或目標平臺,所以它在一個 DB2 UDB 驅動程式例項中同時支援所有 Java 連通性(Type 4 驅動程式)和基於 JNI 的連通性(Type 2 驅動程式)。該驅動程式可以用於獨立 Java 應用程式或多層應用程式。

重要: 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

4 中顯示了 Type 4 JDBC 驅動程式實現。注:從 LinuxUNIX Windows 上的 Java 應用程式或 applet 連線到 DB2 for z/OS and OS/390 所用的通用 JDBC/SQLJ 驅動程式(Type 4 Type 2)需要適當的許可證檔案(db2jcc_license_cisuz.jar)。該許可證檔案是隨 DB2 Connect 產品一起提供的。

Java 開發工具箱(JDK)和 Java 執行時環境(JRE

每個 JDBC 版本都有相關聯的 JDK/JRE

  • JDBC 2.0 JDBC 2.1 API 被分入兩個包:
    • java.sql 包(包括核心 API;它是 JDBC 1.22 API 的增強)
    • javax.sql 包(可選的包,用於支援連線池、分散式事務及其他類似的高階功能)。
  • J2SEJava 2,標準版,在 JDK 1.2 及更高版本中實現)支援 JDBC 2.0 JDBC 2.1 核心 APIJ2EE 1.3 支援 JDBC 2.0 可選包。
  • JDBC 3.0 最終於 2002 5 月完成,並已合併入 J2SE 1.4 J2EE 1.4

許多客戶使用 1.3.1 環境開發和部署 Java 應用程式。這是目前推薦的 DB2 Java 應用程式環境。通用 JDBC 驅動程式需要 1.3.1 環境。注:在 JDK 1.4 環境中支援具有通用 JDBC 驅動程式的 JDBC 3.0 API 的一些計劃正在進行之中。

三.JDBC測試情況分析

簡介

關係資料庫在您的電子商務應用中一定扮演著不可或缺的重要角色。DB2 是您的選擇麼?也許您的系統裡早就部署了 DB2 UDB V7.2 系列軟體;也許您正打算升級您的 DB2 系統到最新的版本;也許您剛剛部署了最新的 DB2 UDB V8.1 系列軟體,並且想更新您之前開發的應用系統。如果您正打算這麼做,那麼這篇文章的話題應該是您所感興趣的。

您的應用系統如果想和 DB2 系統打交道,我想首先需要做的一定是和 DB2 資料庫建立連線並且對資料庫進行各種操作。對於基於 JAVA 平臺的應用程式來說,JDBCJava Database Connectivity)一定是開發人員的首選。它作為 JAVA 程式語言的必備元件,已經成為 JAVA 2 標準版(JAVA 2Standard EditionJ2SE)規範的一部分,而 DB2 系統對 JDBC 做了很好的支援。

在您決定遷移您的應用系統的時候,可能並不想直接升級您的DB2系統到最新的版本,這個時候就可能會碰到和我開發中所碰到的相似的情形,即我們需要適應不同版本的 DB2 資料庫同時存在的應用環境,這時我們可能希望應用程式能夠順利地在不同版本的 DB2 資料庫之間遷移而無需做過多的修改。

本文就介紹了為解決這類問題所做的一系列實驗,並且根據實驗結果給開發人員提出了一些建議。

我們討論的範圍限定在使用 JDBC 連線 DB2 UDB V7.2 DB2 UDB V8.1 時碰到的問題。這裡實驗環境中的 JDK 版本是 1.3,可能有些開發人員已經嘗試採用 JDK1.4 了,如果開發中碰到一些令人費解的問題,請嘗試改變您的 JDK 版本再做嘗試,這往往就能解決你的問題。

通過本文,讀者可以瞭解到下面的一些知識:

1. DB2 系統對 JDBC Java Database Connectivity)的支援

2. DB2 命令列工具 CLPCommand Line Processor

3. DB2 命令中心(DB2 Command Center

4. 不同版本 DB2 系統釋出的

Java 連線 MySQL 資料庫方法

Java 連線 MySQL 資料庫方法 1、傳統的連線方式 # 動態載入mysql驅動 Class.forName("com.mysql.jdbc.Driver"); 獲取連線

【JDBC程式設計】Java 連線 MySQL資料庫基礎、入門和進階

Content: 常用的JDBC API 資料庫環境的搭建 建立資料庫連線 資料庫訪問優化 一. 常用的JDBC API 1. DriverManager類 : 資料庫管理類,用於管理一組JDBC驅動程式的基本服務。應用程式和資料

Java連線PostgreSQL資料庫

在Java程式中使用PostgreSQL之前,我們需要確保在機器上安裝了PostgreSQL JDBC和Java。 您可以在機器上檢查是否正確安裝了Java:Java教程。 現在我們來看一下如何設定PostgreSQL JDBC驅動。 從postgresql-jdbc儲

JAVA連線各種資料庫詳解

Java資料庫連線(JDBC)由一組用 Java 程式語言編寫的類和介面組成。JDBC 為工具/資料庫開發人員提供了一個標準的 API,使他們能夠用純Java API 來編寫資料庫應用程式。然而各個開發商的介面並不完全相同,所以開發環境的變化會帶來一定的配置變化。本文主要集合了不同資料庫的連

Java連線MySQL資料庫8.0以上版本遇到的坑(The new driver class is `com.mysql.cj.jdbc.Driver)

我遇到了java無法連線mysql資料庫8.0.1的問題。         報錯:Loading class `com.mysql.jdbc.Driver'. This is deprecated.

java連線Mysql資料庫失敗

問題 無法連線到資料庫:可能是因為匯入的mysql-connector-java-x.x.xx.jar版本過低,無資料庫版本不匹配。解決辦法:下載最新的包匯入,同時更改jdbc.driverClass = com.mysql.dbc.Driver為jdbc.driverClass = co

IDEA java連線mysql資料庫,實現對資料庫的增刪改查

先上程式碼: package Database_Demo; import java.sql.*; public class DataBase { public static void main(String[] args) { Connect

JAVAJAVA連線MySql資料庫

步驟:1.eclipse工具連線工具:eclipse   MySQL5.6   MySQL連線驅動:mysql-connector-java-5.1.27.jar   http://cdn.mysql.com//Downloads/Connector-J/mysql-conn

Java連線mysql資料庫攻略

  2. 連線mysql  輸入:mysql –h localhost –u root –p  輸入在安裝時已設好的密碼,就近入了mysql的命令編輯介面了。  3. 使用mysql的基本命令(在mysql命令列編輯每輸入完命令後最後一定要有分號,不然會報錯)  顯示資料庫:show databases;  

java連線MySQL資料庫 json資料前後端互動

先在下圖資料夾中匯入相應的jar包,其中第一個紅框中的是使用json資料需匯入的7個包,第二個紅框是用JDBC連線MySQL資料庫必須的包。 連線MySQL的工具類: package com.XXXXXX.util; import java.sql