Есть ли драйвер JDBC 4.1 для DB2?

Поддерживает ли DB2 (LUW) JDBC 4.1?

Откуда я могу скачать этот драйвер, если он существует?

2 ответа

Решение

Драйвер db2 для JDBC v3 называется db2jcc.jar

Для версии 4 драйвер JDBC для DB2 называется db2jcc4.jar, а в документации говорится: JDBC 4.0 или более поздние функции.

Ваш вопрос специфичен для JDBC 4.1, однако в документации DB2 ничего не говорится об этом конкретном выпуске JDBC (RowSetProviderClass и автоматическое закрытие соединения, утверждение resultSet)

Не похоже, что этот драйвер 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

В качестве последующего ответа на то, что @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 который будет выглядеть так в 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
Другие вопросы по тегам