【问题标题】:Is there a JDBC 4.1 driver for DB2?是否有用于 DB2 的 JDBC 4.1 驱动程序?
【发布时间】:2014-05-13 15:33:43
【问题描述】:

DB2 (LUW) 是否支持 JDBC 4.1?

如果存在此驱动程序,我可以从哪里下载?

【问题讨论】:

    标签: database jdbc db2 jcc


    【解决方案1】:

    用于 JDBC v3 的 db2 驱动程序称为 db2jcc.jar

    对于版本 4,用于 DB2 的 JDBC 驱动程序称为 db2jcc4.jar,文档中说:JDBC 4.0 或更高版本的函数。

    您的问题是针对 JDBC 4.1 的,但是 DB2 文档没有说明这个 JDBC 特定版本(RowSetProviderClass 和自动关闭连接,声明一个结果集)

    这个 jdbc 版本似乎没有这个 jdbc 驱动程序。

    http://pic.dhe.ibm.com/infocenter/db2luw/v10r5/topic/com.ibm.db2.luw.apdv.java.doc/src/tpc/imjcc_cjvintro.html

    db2 jdbc 驱动列表:http://www-01.ibm.com/support/docview.wss?uid=swg21363866

    【讨论】:

      【解决方案2】:

      作为对上述@AngocA 的后续回答,我开发了一个简单的程序来测试 DB2 驱动程序以检查其与JDBC 的合规性级别。 我发现第一个声称支持这种支持的 DB2 驱动程序是驱动程序4.13.127

      所以之后的任何东西也应该支持JDBC 4.1

      这是我的简单程序,您可以使用它来检查合规级别:

      import java.sql.Connection;
      import java.sql.DatabaseMetaData;
      import java.sql.DriverManager;
      import java.sql.SQLException;
      
      public class tester {
          // Replace these info with your DB2 info
          private final static String hostName = "mydb2.db2.com";
          private final static String portNum = "50000";
          private final static String userName = "dasusr";
          private final static String password = "db2sdin";
          private final static String dbName = "mydb";
      
          private final static String fullURL = "jdbc:db2://" + hostName + ":" + portNum
                                                + "/" + dbName + ":" + "user=" + userName
                                                + ";password=" + password + ";";
      
          public static void main(String[] args) {
              Connection con = null;
              try {
                  con = DriverManager.getConnection(fullURL);
                  DatabaseMetaData conMD = con.getMetaData();    
                  String driverName = conMD.getDriverName();
                  String driverVersion = conMD.getDriverVersion();
                  String jdbcVersion = conMD.getJDBCMajorVersion()
                                       +"."+ conMD.getJDBCMinorVersion();
                  System.out.println("driverName: " + driverName + "\n"
                                      +"driverVersion: "+ driverVersion + "\n"
                                      +"jdbcVersion: "+ jdbcVersion);
              } catch (SQLException e) {
                  e.printStackTrace();
              } 
          }
      }
      

      .classpath 中,在 eclipse 的 Navigator 选项卡中看起来像这样:

      添加您要测试的驱动程序的位置,如下所示:

      <classpath>
          <classpathentry kind="src" path="src"/>
          <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse
                                .jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
      
          <!-- driver_4.13.127  -->
          <classpathentry kind="lib" path="driver_4.13.127/db2jcc_license_cisuz.jar"/>
          <classpathentry kind="lib" path="driver_4.13.127/db2jcc4.jar"/>
      
          <classpathentry kind="output" path="bin"/>
      </classpath>
      

      然后你应该得到类似这样的输出:

      driverName: IBM Data Server Driver for JDBC and SQLJ
      driverVersion: 4.13.127
      jdbcVersion: 4.1
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-06-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多