olá, possuo uma aplicação que utiliza MYSQL e conexão atraves da JDBC do MySQL.
Bom quando vou fazer um insert numa tabela do bd (é a importação de 23.000 registros) quando chega perto do registro 4.000 ele dá a seguinte mensagem de erro. O insert dos dados é feito um por um, não sei se isso pode ser o problema?
[quote]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:70)
at bd.insert.insere(insert.java:30)
at importacao.importa_tim.run(importa_tim.java:275)
at java.lang.Thread.run(Thread.java:595)
** END NESTED EXCEPTION **
Last packet sent to the server was 17 ms ago.
[/quote]
Como são varias inserções idênticas, eu sugiro o uso de PreparedStatement, pois ele compila a expressão, tornando a execução mais rápida e menos custosa. E use uma conexão só também.
Não sei que tipo de objeto você está inserindo, mas suponhamos que sejam usuários, com nome, login e senha.