Java - DB2连接问题

时间:2013-09-19 07:35:40

标签: java db2

这是我的班级尝试连接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中。

2 个答案:

答案 0 :(得分:1)

检查LD_LIBRARY_PATH shell环境变量;它需要包含db2库所在的目录。谷歌的“websphere db2 ld_library_path”没有引号。

答案 1 :(得分:1)

您正在尝试使用类型2(所谓的“app”)驱动程序,其中1)要求您至少安装具有本机CLI / ODBC库的运行时客户端,并且2)已弃用。

考虑使用类型4(“jcc”)驱动程序,它是纯Java。可以在此处找到更多信息:implement type 4 jdbc driver in DB2