运行时错误"未找到类"在编写java程序以连接DB2和获取数据时

时间:2014-12-03 06:29:51

标签: java jdbc ibm-midrange

以下代码编译成功。

代码源(Jdbcexample.java)和编译的类文件(JdbcExample.class)目录: - " test" 当我使用java JdbcExample运行此程序时,它会抛出未找到的类com.ibm.as400.access.AS400JDBCDriver并在作业日志中:

  

代码以04结尾:无法找到运行Java Program"。

所需的类

问题与我想的类路径有关。

任何人都可以指导我如何设置路径/类路径并运行程序以避免上述错误?

import java.sql.*;  

public class JDBCexample {  
  public static void main(String[] args)
  {
    Connection con = null;  
    try {  
          Class.forName("com.ibm.as400.access.AS400JDBCDriver);  
        }
    catch(ClassNotFoundException e)
        {  
          System.out.println(e);  
          System.exit(0);  
        }  
    try {  
          con = DriverManager.getConnection("jdbc:as400://yourserver", "yourUserId","yourPassword");  

          Statement stmt = con.createStatement();  
          ResultSet rs = stmt.executeQuery("SELECT * FROM YOURLIB.YOUR_PF_FILE");  

          while (rs.next())
         {  

                  String field1 = rs.getString(1);  
                  String field2 = rs.getString("fieldname");  


          }
           rs.close();
           stmt.close();
           con.close();
       }
          catch(Exception e)
          {  

          }  

          }  
}

6 个答案:

答案 0 :(得分:1)

错误说它无法找到JDBC驱动程序。该驱动程序是IBM Toolkit for Java的一部分。就我而言,我使用的是JTOpen而不是机器附带的版本。我将jt400.jar放在名为 java 的目录中的IFS中。

如果从IBM i(不是PASE或QShell)运行,则使用ADDENVVAR设置类路径。这对我有用,因为我将.jar文件放在/ java:

ADDENVVAR ENVVAR(CLASSPATH) VALUE('.:+       
                                  /java:+   
                                  /java/*') 

机器附带的jt400在IFS中。在我的7.2机器上,路径为:/QIBM/ProdData/HTTP/Public/jt400/lib - 如果要使用该版本,请将该路径放在CLASSPATH中。 IBM维护FAQ on the Toolbox

答案 1 :(得分:0)

使用以下命令设置类路径并执行java程序。

SET CLASSPATH=%DIR%\lib\yourlib.jar

答案 2 :(得分:0)

的Class.forName(" com.ibm.as400.access.AS400JDBCDriver);

您是否在项目中添加了AS400JDBCDriver的相关jar。检查一次

答案 3 :(得分:0)

java -cp pathtojarlib:. JdbcExample

其中pathtojarlib是连接器库的路径

答案 4 :(得分:0)

我以为你做了一些愚蠢的错误。 请检查您的班级名称。 在上面给出的代码中,类名是JDBCexample 并使用java JdbcExample运行.. 使用java JDBCexample

答案 5 :(得分:0)

将类路径添加到jar的MANIFEST.MF中。例如:

Manifest-Version: 1.0
Main-Class: JdbcExample
Class-Path: lib/db2jcc.jar lib/commons-logging-1.1.3.jar