2011-12-07 135 views

回答

0

DB2 JDBC驅動程序用於從JAVA應用程序連接到DB2。連接後,您可以從您的應用程序中執行CRUD操作。

您可以從IBM site獲得驅動程序。您將需要有IBM ID和密碼才能登錄(您可以在此獲得)。 Zip文件大約7 MB,包含DB2 9.5 JDBC(類型2/4)和SQLJ驅動程序。類型4驅動程序位於db2jcc4.jar中。但是,如果大型機正在運行DB2 for z/OS,那麼您將無法使用此驅動程序連接到大型機。爲此,您至少需要購買DB2 Connect產品,這將花費您至少500美元。

您將使用DB2方言

<prop key="hibernate.dialect">org.hibernate.dialect.DB2Dialect</prop> 

參考Here

+0

我知道你在說什麼。但我想獲得DB2 JDBC驅動程序的Maven依賴關係 –

4

我不知道你可以從Maven的中央弄個一官IBM DB2驅動程序。我認爲這只是因爲許可證。 IBM驅動程序是擁有自己許可證和分發權的專有軟件(是的,當您點擊時,我同意在下載時間)。 Maven存儲庫有自己的規則來分發這些軟件,而這些規則可能是IBM的政治。

Maven central是免費發佈軟件,大部分軟件是開源的,而不是DB2驅動程序不是開源軟件。但是,DB2 Express-C是「免費」分發的,但我不確定是否該dirvers是「免費」的一部分,我不知道該分發的邊界是什麼。

也許,IBM有自己的Maven倉庫,就像jBoss一樣,但我從來沒有聽說過這個。否則,這可能是一個好主意。

我認爲您應該聯繫IBM(developerWorks中的DB2 express-c論壇),以便了解如何從Maven獲取驅動程序,或者簡單地說,如果您可以將它們作爲新項目或類似的項目上傳到那裏。

4

由於版權問題,您無法找到爲DB2提供依存關係的公共存儲庫。您必須下載包含jar文件的zip文件,並將其描述爲imran tariq,然後您必須使用mvn install命令將它們安裝到本地存儲庫。你可以閱讀更多關於maven install here

您可以閱讀如何將db2 jar部署到本地或遠程存儲庫here

1

而不是增加Maven的依賴,直接添加的jar到tomcat/lib目錄

配置:

<properties> 
     <property name="javax.persistence.jdbc.url" value="jdbc:db2://localhost:50000/dbname"/> 
     <property name="javax.persistence.jdbc.password" value="root"/> 
     <property name="javax.persistence.jdbc.driver" value="com.ibm.db2.jcc.DB2Driver"/> 
     <property name="javax.persistence.jdbc.user" value="root"/> 
    </properties> 
從代碼

直接連接

public class DB2Connection { 
    static { 
     try {    
      Class.forName("com.ibm.db2.jcc.DB2Driver"); 
     } catch (Exception e) { 
      System.out.println("Error"); 
      e.printStackTrace(); 
     } 
    }  


    public static void main(String argv[]) { 
     try { 
      Connection con = null; 
      String url = "jdbc:db2://localhost:50000/dbname"; 

      String userid = "root"; 
      String passwd = "root"; 
      con = DriverManager.getConnection(url, userid, passwd); 
      System.out.println("Connected " + con); 

      Statement stmt = con.createStatement(); 

      } 
      //rs.close(); 
      stmt.close(); 
      con.close(); 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
相關問題