路过的帮忙顶一下!!!!!!MESSAGE: Connection refused: connectpackage count;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;public class Jdbc {
Connection conn;
Statement stat;
public boolean createTable(String sql){
try {
boolean b=connect().execute(sql);
return b;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
public boolean insertData(String sql){
try {
boolean b=connect().execute(sql);
return b;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
public Statement connect(){
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3308/compare","root","111111");
//conn.setAutoCommit(false);
stat = conn.createStatement();
return stat;
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} return null;
}
}package count;
import java.io.*;
import java.util.ArrayList;
public class OP_File
{
    public BufferedReader bufread;
    public BufferedWriter bufwriter;
    File writefile;
    String filepath,filecontent,read;
    String readStr="";
    int count=0;
   // ArrayList<String[]> al = new ArrayList<String[]>();
    
    public String readfile(String path)  //从文本文件中读取内容  
    {
     try
     {
     filepath=path;                      //得到文本文件的路径
     File file=new File(filepath);
     FileReader fileread=new FileReader(file);
     bufread=new BufferedReader(fileread);
     Jdbc jdbc = new Jdbc();
     if((read=bufread.readLine())!=null){
      String[] li = read.split(",");
      String sql ="create table t2(";
      sql=sql+"col0 varchar(100)";
      for(int i=1;i<li.length;i++){
      sql=sql+", col"+i+" varchar(100)";
      }
      sql=sql+")";
      jdbc.createTable(sql);
     }
    
     while((read=bufread.readLine())!=null)
     {
      count++;
      String sql="insert into t2 values('";
      String[] li = read.split(",");
      sql=sql+li[0]+"'";
     // al.add(li);
      for(int i=1;i<li.length;i++){
      sql=sql+",'"+li[i]+"'";
      System.out.print("  "+li[i]);
      }
      sql=sql+");";
      jdbc.insertData(sql);
      //jdbc.commit();
      System.out.println();
      //System.out.println(read);
       //readStr=readStr+read;
     }
     
     System.out.println(count);
     }catch(Exception d){System.out.println(d.getMessage());}
     return readStr;    //返回从文本文件中读取内容
    }
public static void main(String args[]){
String filedir = "C:\\compare\\20080808-20081021.txt";
OP_File opf = new OP_File();
String res = opf.readfile(filedir);
//System.out.println(res);

}
}我用以上代码向MYSQL里插入数据,要好几万条,但当插入了4000行左右就报出了以下错误:
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION ** java.net.ConnectException
MESSAGE: Connection refused: connectSTACKTRACE:java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:271)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2771)
at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at count.Jdbc.connect(Jdbc.java:53)
at count.Jdbc.insertData(Jdbc.java:27)
at count.OP_File.readfile(OP_File.java:46)
at count.OP_File.main(OP_File.java:80)
** END NESTED EXCEPTION **Last packet sent to the server was 0 ms ago.
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2847)
at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at count.Jdbc.connect(Jdbc.java:53)
at count.Jdbc.insertData(Jdbc.java:27)
at count.OP_File.readfile(OP_File.java:46)
null
at count.OP_File.main(OP_File.java:80)
我从网上找了相关问题,有人说是因为连接时间太久,把wait_timeout改长点,可我改了还是没用。
谁知道的帮忙解答一下。
不知道的也帮忙顶一下啊,谢谢了。