JAVA用JDBC和jtds向SQL SERVER中插入1百万条数据,插到3千条就提示:Network error IOException: Address already in use: connect(JTDS)和error socket 
插入代码:
public void executeInsert(String sql) throws SQLException {
     try {

conn = DriverManager.getConnection(url,username,password);
pstmt = conn.prepareStatement(sql);
pstmt.executeUpdate();
                        pstmt.close();
                        conn.close();
    
 } catch (SQLException ex) {
System.err.println("DBconn.executeUpdate:" + ex.getMessage());
}
}

解决方案 »

  1.   

    可能是太过频繁连接断开造成sql server连接异常,虽然你已经端口了,还是会占用端口等待状态。或者你可以试试用一次连接等全部数据插入完毕再断开数据库连接
      

  2.   

    可能 你在close 以后要要将pstmt=null; 这样它才释放资源,不知道对不对啊,你试 一下吧
      

  3.   

    public void executeInsert(ArrayList sqlList) throws SQLException {
        try {
            conn = DriverManager.getConnection(url,username,password);
            pstmt = conn.prepareStatement(sql);
            int sqlCount = 0;
            if (sqlList!= null) {
                   sqlCount = sqlList.size();
             }        String sql = null;
            for (int i=0;i<=sqlCount;i++) {
                sql = sqlList.get(i);
                pstmt = conn.prepareStatement(sql);
                 pstmt.executeUpdate();
             }
            } catch (SQLException ex) {
                System.err.println("DBconn.executeUpdate:" + ex.getMessage());
            } finally {
               if (pstmt != null) {pstmt.close();}
               if (conn != null) {conn.close();}
            }
        }
    }
      

  4.   

    有的人就会纸上谈兵!
    没有做过具体的任务就不要乱说话!
    你们为什么要说是连接的问题?
    为什么要说是代码的问题?
    为什么就不可以说是SQLSERVER的问题!
    8楼的朋友,你做过具体的实验吗?
    我打赌你没有!
    我们要事实就事!我也遇到过这样的问题,我的解决方法就是用两台电脑来实现数据的COPY!
      

  5.   

    呵呵~~~~~哎你们有没有。JAVA程序员的群啊。加我一个呀。
    QQ:469208018