2011-12-07 61 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(); 
     } 
    } 
相关问题