我现在写了一个class。本机安装了一个db2客户端,而且客户端已经连接上了应用服务器上的数据库。
应用服务器地址ip:200.30.20.1  数据库实例是db2,数据库名为fsybkf,用户名为fsyb,密码是fssi。第一,我写的class是这样的。
package javatest;import  javatest.MyException;
import java.sql.Connection;
import java.sql.DriverManager;public class TestConn {
public static void main(String arg[]) throws Exception{
Connection conn = null;
Class.forName("com.ibm.db2.jdbc.app.DB2Driver").newInstance();
String url ="jdbc:db2://200.30.20.1:50000/fsybkf"; conn= DriverManager.getConnection(url,"fsyb","fssi");
conn.setAutoCommit(false);

int a;
try{
a = getCircle(1,2);
}catch(MyException ee){
ee.printStackTrace();
conn.rollback();
}finally{
conn.close();
}
}

static int getCircle(int x,int y) throws MyException{
if((x==0)||(y==0)){
throw new MyException("该方法被调用时传入的参数不能等于0",1);
}
int c = x*y;
return c;
}
}第二、整个程序是放在D:\javatest\java_study\javatest目录下的,我将db2java.zip解压后放在D:\javatest\java_study\javatest这个路径下。第三、程序语法没有错误,可是调式时,Class.forName("com.ibm.db2.jdbc.app.DB2Driver").newInstance();这句报错
请问各位怎么解决啊

解决方案 »

  1.   

    什么错误信息,有可能是你的db2驱动jar没有找到
      

  2.   

    Class.forName("com.ibm.db2.jdbc.app.DB2Driver").newInstance();这句报错 那LZ应该是驱动找不到,或者驱动有问题。其他应该没问题。
      

  3.   

    使用Class.forName("ClassName").newInstance()这种形式的效果相当于利用无参构造函数new一个对象
    即new ClassName();
    如果该类没有无参构造函数就会报错,抛出java.lang.InstantiationException异常
    不清楚com.ibm.db2.jdbc.app.DB2Driver这个类有没有无参构造子,LZ可以查一下API