Java 使用DB2驱动程序访问as400
我对SQL比较陌生,在连接AS/400DB2数据库时遇到了一些问题 我已经成功地连接到MySQL、Microsoft SQL Server和Netezza数据库,但我无法连接到此数据库 我不断得到以下错误: Java.lang.ClassNotFoundException 我尝试了Java 使用DB2驱动程序访问as400,java,db2,ibm-midrange,classnotfoundexception,Java,Db2,Ibm Midrange,Classnotfoundexception,我对SQL比较陌生,在连接AS/400DB2数据库时遇到了一些问题 我已经成功地连接到MySQL、Microsoft SQL Server和Netezza数据库,但我无法连接到此数据库 我不断得到以下错误: Java.lang.ClassNotFoundException 我尝试了jt400和db2jcc驱动程序,并尝试了com.ibm.db2.jcc.DB2Driver和com.ibm.as400.access.as400jdbdriver的class.forName,但两者的组合都没有帮助
jt400
和db2jcc
驱动程序,并尝试了com.ibm.db2.jcc.DB2Driver
和com.ibm.as400.access.as400jdbdriver
的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()的输出;:
IBM i的正确驱动程序是jt400驱动程序,连接字符串很简单:
jdbc:as400://<host>;
使用
e.printStackTrace()代码>显示异常时,包括完整的stacktrace。现在添加到编辑部分。您的类路径中没有驱动程序,或者您拼错了驱动程序类名。谢谢,我在Eclipse中设置了应用程序的构建路径,以查看jar的本地副本,而我应该将其指向tomcat副本。现在我只需要得到正确的连接字符串!谢谢你的帮助。谢谢你,我刚刚和我的导师坐在一起,尝试了一些东西,事实上你是对的,我的错误是在连接字符串中包含了端口号(我的帖子中没有包含)。新手犯的错误。
jdbc:as400://<host>;
com.ibm.as400.access.AS400JDBCDriver