使用 DB2 驱动程序访问 as400

Using a DB2 driver to access as400

我对 SQL 比较陌生,我在连接到 AS/400 DB2 数据库时遇到了一些问题。

我已成功连接到 MySQL、Microsoft SQL Server 和 Netezza 数据库,但我无法连接到此数据库!

我不断收到以下错误:

Java.lang.ClassNotFoundException

我试过 jt400db2jcc 驱动程序,也试过 com.ibm.db2.jcc.DB2Drivercom.ibm.as400.access.AS400JDBCDriver 的 class.forName,但没有组合两个帮助了。

例子是:

public Connection startMyRexConnection() {
        Connection connect = null;
        ConfigReader.main();
        try {
            Class.forName("com.ibm.db2.jcc.DB2Driver");
            connect = DriverManager.getConnection(ConfigReader.getREXurl(), ConfigReader.getREXuser(), ConfigReader.getREXpassword());
        }
        catch (ClassNotFoundException e) {
            System.err.println("Failed to load DB2 driver");
            System.err.println(e);
        } 
        catch (SQLException ex) {
            System.err.println("SQLException: " + ex.getMessage());
            System.err.println("SQLState: " + ex.getSQLState());
            System.err.println("VendorError: " + ex.getErrorCode());
            System.err.println("Driver loaded, but cannot connect to db: " + ConfigReader.getREXurl());
        } 
        catch (Exception ex) {
            System.err.println("Check classpath. Cannot load db driver: " + "com.ibm.db2.jdbc.app.DB2Driver");
        }
        rexCon = connect;
        return connect;
    }

如有任何建议,我们将不胜感激!

编辑: 这是 e.printStackTrace() 的输出; :

java.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2Driver
java.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2Driver
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1365)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1188)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at com.vat.ui.RexConnection.startMyRexConnection(RexConnection.java:26)
    at org.apache.jsp.loginRequestHandler_jsp._jspService(loginRequestHandler_jsp.java:143)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)

IBM i 的正确驱动程序是 jt400 驱动程序,连接字符串很简单:

jdbc:as400://<host>;

您的 class 姓名正确:

com.ibm.as400.access.AS400JDBCDriver