[英]Java - DB2 Connection Issue
这是我的班级尝试连接Db2:
package Test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Db2Connection {
public static void main(String[] args) {
Connection conn = null;
String driverName = "COM.ibm.db2.jdbc.app.DB2Driver";
String db2ConnectString = "jdbc:db2:DB2XAT33;UID=G37RSF4;PWD=HOT22RST";
try {
Class.forName(driverName);
conn = DriverManager.getConnection(db2ConnectString);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("ClassNotFoundException Message -- "+ e.getMessage());
e.printStackTrace();
}catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("SQLException Message -- " + e.getMessage());
e.printStackTrace();
}catch (UnsatisfiedLinkError e) {
// TODO Auto-generated catch block
System.out.println("UnsatisfiedLinkError Message -- " + e.getMessage());
e.printStackTrace();
}
catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("General Exception Message -- " + e.getMessage());
e.printStackTrace();
}
}
}
当我运行这个我得到以下异常:
java.lang.UnsatisfiedLinkError: SQLAllocEnv
at COM.ibm.db2.jdbc.app.DB2Driver.<init>(Unknown Source)
at COM.ibm.db2.jdbc.app.DB2Driver.<clinit>(Unknown Source)
at java.lang.Class.forName1(Native Method)
at java.lang.Class.forName(Class.java:142)
我在文件夹“ C:\\ Program Files \\ IBM \\ SQLLIB \\ java \\”中有Db2.zip。 然后我通过JavaBuildpath将Db2.zip和ojdbc.jar添加到了Package中。
检查LD_LIBRARY_PATH shell环境变量; 它需要包含db2库所在的目录。 Google对“ websphere db2 ld_library_path”的引用不加引号。
您正在尝试使用2型(所谓的“ app”)驱动程序,该驱动程序1)要求至少安装具有本机CLI / ODBC库的运行时客户端,并且2)已过时。
考虑使用类型4(“ jcc”)驱动程序,它是纯Java。 在这里可以找到更多信息: 在DB2中实现类型4 jdbc驱动程序
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.