下面的代码编译成功。
代码源(Jdbcexample.java
)和编译后的类文件(JdbcExample.class
)目录:-"test"
当我使用 java JdbcExample
运行这个程序时,它抛出找不到类 com.ibm.as400.access.AS400JDBCDriver
并在作业日志中:
code ended with 04:Unable to find class required to run 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)
{
}
}
}
最佳答案
错误提示找不到 JDBC 驱动程序。该驱动程序是 IBM Toolkit for Java 的一部分。就我而言,我使用的是 JTOpen 而不是机器附带的版本。我将 jt400.jar 放在 IFS 中名为 java 的目录中。
如果从 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 .
关于java - 编写 java 程序连接 DB2 和获取数据时出现运行时错误 "Class Not found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27265097/