Invalid state, the Connection object is closed.

That line makes me nervous.

 

快疯掉了,从昨晚到现在一直没有解决的问题;前天写了一个导入程序;

JDK1.5+jTDS1.2.2+SQL SERVER 2000(SP3)+MySQL5;

 

从MySQL中导入抓取回来的数据,到SQL SERVER里,程序跑了一会就提示上面那错误:

 

java.sql.SQLException: Invalid state, the Connection object is closed.
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.checkOpen(ConnectionJDBC.java:249)

 

折腾了一整天,还是没把问题解决,网上找了N多资料,看来这个问题相当少见,只在SUN的官方上找到一篇http://forum.java.sun.com/thread.jspa?threadID=678409&start=0&tstart=0

 

SQL SERVER也调试了,Connection打印出来也是是没有closed的,但都总是出现这个问题,真的快疯了;

 

请有经验的给点提示,小弟将发自内心的感谢!

 

public void insertMsData(......) {
  Connection conn=null;
  Statement stmt1=null;
  Statement stmt2=null;
  Statement stmt3=null;
  
  String lname="重录";
  
  String COM_ID=(getComid()+1)+"";
  String Lnk_ID=(getLnkid()+1)+"";
  String DeptName="人事部";
  
  int j=0;
  int t=0;
  int k=0;
  String sql="INSERT INTO CRM_Company ......";
  
  String sql1="INSERT INTO CRM_Linkman (Lnk_ID,COM_ID,Lnk_Name,DeptName,Sex,PosType,SensType,Phone_Z,Phone_N,IsAdmin,DelFlag,RegisterDate) VALUES ("+Lnk_ID+","+Integer.parseInt(COM_ID)+",'"+lname+"','"+DeptName+"',"+1+","+3+","+1+","+0000+","+00000000+","+1+","+0+",convert(smalldatetime,"+RegisterDate+"))";
  
  String sql2="INSERT INTO ShieldTable (S_ID,S_Company) VALUES ('"+COM_ID+"','"+COM_Name+"')";
  
  try {
   if (conn==null || conn.isClosed()) {
    conn=dbc.getMSConnection();
   }
   System.out.println("@@@@@@@@conn:"+conn);
   stmt1=conn.createStatement();
   j=stmt1.executeUpdate(sql);
   stmt2=conn.createStatement();
   t=stmt2.executeUpdate(sql1);
   stmt3=conn.createStatement();
   k=stmt3.executeUpdate(sql2);
   
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
   System.exit(0);
   
  }finally{
   try {
    
   if(stmt1!=null){
    stmt1.close();
   } 
   if(stmt2!=null){
    stmt2.close();
   } 
   if(stmt3!=null){
    stmt3.close();
   }
   if(conn!=null){
    conn.close();
    conn=null;
   }
   } catch (SQLException e) {
    e.printStackTrace();
   }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值