MySql

2 respostas
K

Olá, possuo o seguinte codigo.....

public void run ()
      {
            String sql = null;
            int idTemp = 0;
            RandomAccessFile arquivo = null;
            try
            {
                  System.out.println (arquivos);
                  arquivo = new RandomAccessFile (arquivos, "r");
            }
            catch (FileNotFoundException ex)
            {
                  ex.printStackTrace ();
            }
            String linha = null;
            try
            {
                  
                  while ((linha = arquivo.readLine ()) != null)
                  {
                        String linhalog[] = linha.split (";");
                        Tel[idTemp]                = linhalog[0];
                        Tipo[idTemp]               = linhalog[1];
                        Data[idTemp]               = linhalog[2];
                        Hora[idTemp]               = linhalog[3];
                        Origem_Destino[idTemp]     = linhalog[4];
                        Numero[idTemp]             = linhalog[5];
                        Duracao_Quantidade[idTemp] = linhalog[6];
                        Tarifa[idTemp]             = linhalog[7];
                        Valor[idTemp]              = linhalog[8];
                        ValorCobrado[idTemp]       = linhalog[9];
                        Nome[idTemp]               = linhalog[10];
                        CC[idTemp]                 = linhalog[11];
                        Matricula[idTemp]          = linhalog[12];
                        Descricao[idTemp]          = linhalog[13];
                        
                        int competencia = Graficos.ImpClaro.Competencias.getSelectedIndex ();
                        competencia++;
                        String busca_competencia = "SELECT * FROM competencia c where c.idCompetencia = "+competencia+";";
                        String Ano_Compentencia = null;
                        String Mes_competencia = null;
                        String Fechamento = null;
                        try
                        {
                              Ano_Compentencia = bd.busca.buscar_valores (busca_competencia, 3);
                              Mes_competencia = bd.busca.buscar_valores (busca_competencia,2);
                              Fechamento = bd.busca.buscar_valores (busca_competencia,4);
                        }
                        catch (SQLException ex)
                        {
                              ex.printStackTrace ();
                        }
                        String busca_operadora = "SELECT idOperadora FROM operadora o, celulares c where c.CelNumero = '"+Tel[idTemp]+"' and " +
                                 "idOperadora = c.OperadoraID;";
                        String busca_celulares = "SELECT idCelulares FROM celulares c WHERE C.CelNUmero = '"+Tel[idTemp]+"';";
                        String operadora = null;
                        String celulares = null;
                        try
                        {
                              operadora = bd.busca.buscar_valores (busca_operadora,1);
                              celulares = bd.busca.buscar_valores (busca_celulares,1);
                        }
                        catch (SQLException ex)
                        {
                              Graficos.ImpClaro.Erros.setVisible (true);
                              Graficos.ImpClaro.Erros.setLocationRelativeTo (null);
                              Graficos.ImpClaro.Erros_Desc.setText (""+ex.getStackTrace ());
                              ex.printStackTrace ();
                        }
                        String insert = "INSERT INTO claro VALUES("+idTemp+","+Ano_Compentencia+"," +
                                 ""+Mes_competencia+","+competencia+","+operadora+","+celulares+","+Fechamento+"," +
                                 "'"+Tipo[idTemp]+"','"+Origem_Destino[idTemp]+"','"+Numero[idTemp]+"','"+Duracao_Quantidade[idTemp]+"'" +
                                 ",'"+Data[idTemp]+"',"+Tarifa[idTemp]+","+Valor[idTemp]+",'"+Hora[idTemp]+"');";
                        System.out.println (insert);
                        idTemp++;
                        Graficos.ImpClaro.VerificacaoArquivo.setValue (idTemp);
                  }
            }
            catch (IOException ex)
            {
                  ex.printStackTrace ();
            }
            int conta = idTemp;
            int a = 0;
      }

Acontece que toda vez que executo ele, ele dá o seguinte erro.....

com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: java.net.BindException: Address already in use: connect

STACKTRACE:

java.net.SocketException: java.net.BindException: Address already in use: connect
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:284)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2555)
at com.mysql.jdbc.Connection.<init>(Connection.java:1485)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at bd.banco.getConnection(banco.java:61)
at bd.busca.buscar_valores(busca.java:88)
at Graficos.Runnable.separaDadosLinhas.run(separaDadosLinhas.java:77)
at java.lang.Thread.run(Thread.java:595)

Isso acontece no meio do while, portanto não seria erro no codigo... alguem sabe me ajudar a resolver esse erro????

2 Respostas

C

Ola kikofr,

Posso estar errado, mas aparentemente tem algum processo rodando na porta do MySql…tenta matar esse processo

K

Bom, após muitos testes, volta a dizer que não funcionou o codigo, acho que não seje algo na porta do banco pois troquei de maquina nos testes, coloquei o banco em outra maquina tb, na verdade foram 4 maquinas e ainda ocorre o erro, não sei mais o que fazer…

Alguem já passou por esse erro??? Será que é a versão do JDBC??

Bom, se alguem tiver alguma dica por favor peço que me deem um caminho, pois já to quase ficando louco com isso…

Em um site gringo diziam para aumentar o timeout do banco para as conexões TCP/IP… alguem sabe onde eu configuro esse timeout???

Desde já agradeço a todos…

Criado 17 de maio de 2007
Ultima resposta 11 de jun. de 2007
Respostas 2
Participantes 2