JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » JDBC/SQL討論區 » 其他 Database  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to postflat modego to previous topicgo to next topic
己加入精華區
by koji at 2009-01-13 00:18
本主題所含的標籤
作者 [DB2]使用JDBC Type4連接DB2 v7.2 [精華]
J2





發文: 42
積分: 6
於 2009-01-12 11:31 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
前言:
目前要使用 JDBC 連接 DB2 v7.2 簡直就是個惡夢, 只有 JDBC Type2 的 driver 可以使用,
也就是必須先安裝 DB2 v7.2 or v8.1 Client, 這對於 Windows 平台的 server 來說是沒有問題的,
但是當你環境移轉到 Linux, 你會發現目前的 Linux 的環境太新了, 根本就沒有辦法安裝DB2 client.

我們該怎麼辦呢?

在經過一番千辛萬苦的搜尋之下, 終於發現 WebLogic 竟然有提供 JDBC Type4 Driver for DB2 v7.2,
但是大家應該知道, WebLogic 的 JDBC Driver 是不能拿出來放在別的 Web Server 使用的,
接下來就要告訴大家怎麼讓你的 Web Server 可以使用 WebLogic 提供的 Driver.

下載地點:
WebLogic 10: http://www.oracle.com/technology/software/products/ias/index.html

使用教學:
Step1:安裝WebLogic10, 本範例是安裝在D:\bea
Step2:新增以下Classpath到Web Server上(這個步驟是最重要的, 花了我好幾天才找出要加哪些library)
1
2
3
4
D:\bea\wlserver_10.3\server\lib\wlutil.jar
D:\bea\wlserver_10.3\server\lib\wlbase.jar
D:\bea\wlserver_10.3\server\lib\wldb2.jar
D:\bea\modules\com.bea.core.weblogic.workmanager_1.4.0.0.jar

結果如圖:



Step3:測試連線, 使用以下classname以及url就可以成功連線
1
2
classname = weblogic.jdbc.db2.DB2Driver
url = jdbc:bea:db2://127.0.0.1:50000;DatabaseName=dbname

Example: TestDB2.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
 
public class TestDB2 {
  public static void main(String[] args) {
    Connection conn = null;
    Statement stmt = null;
    try {
      Class.forName("weblogic.jdbc.db2.DB2Driver");
      conn = DriverManager.getConnection("jdbc:bea:db2://127.0.0.1:50000;DatabaseName=dbname","username","password");
      
      if (!conn.isClosed())
        System.out.println("success");
 
      stmt = conn.createStatement();
      ResultSet result = stmt.executeQuery("SELECT COUNT(*) c FROM SYSIBM.SYSTABLES");
 
      ResultSetMetaData metadata = result.getMetaData();
      while (result.next()) {
        for(int i = 0;i < metadata.getColumnCount();i++) {
          System.out.print(result.getString(i + 1) + "\t");
        }
        System.out.print("\n");
      }
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    } catch (SQLException e) {
      e.printStackTrace();
    } finally {
      if (stmt != null) {
        try {
          stmt.close();
        } catch (SQLException e) {
          e.printStackTrace();
        }
      }
      if (conn != null) {
        try {
          conn.close();
        } catch (SQLException e) {
          e.printStackTrace();
        }
      }
    }
  }
}



心得:
目前在Tomcat v5.5, v6.0, JBoss v4.2.3, v5.0都做過測試, 皆可以正常連線, 也可以使用DataSource作連線,
不過, 這個JDBC Type4 Driver並不支援所有的Data Type所以使用的時候要特別小心


J2 edited on 2009-01-12 13:03
reply to postreply to post
話題樹型展開
人氣 標題 作者 字數 發文時間
3974 [精華] [DB2]使用JDBC Type4連接DB2 v7.2 J2 2784 2009-01-12 11:31
» JWorld@TW »  JDBC/SQL討論區 » 其他 Database

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8