Como já falei aqui recomecei meus estudos em duas linguagens que eu sempre gostei : Java e Python
. Hoje mesmo, o estudo de Python já rendeu um pequeno filho, bobinho, mas que já ajudou para caramba em uma demanda do trabalho.
Mas Java é sempre uma necessidade quando eu começo a dar suporte a profissionais que precisam dele. E, assim, estou aqui brincando um pouco com o meu Eclipse.
Bem, estava eu começando os estudos na JDBC do Mysql, gerando um código qualquer, como este aqui :
import java.sql.*;
public class Iniciar {
public static void main(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url = "jdbc:mysql://127.0.0.1/loja?user=root&password=senha";
Connection cn = DriverManager.getConnection(url);
System.out.println("Conexão aberta ! ");
} catch ( Exception e) {
System.out.println("Conexão falhou: " + e.getMessage());
System.out.println("Get StackTrace: " + e.getStackTrace());
}
}
}
Quando bati com o seguinte erro, quando tentava rodar o código :
Communications link failure
Last packet sent to the server was 0 ms ago
Procurando pela web pelo erro, o que eu mais vi foi gente com o problema. Mas resolução que é bom, neca ....
De acordo com a maioria isto estava ligado a alguma coisa na porta tcp do Mysql. Fuçando mais um pouco, cheguei em uma resposta, altamente tosca, de um brasileiro em um inglês altamente mal escrito, que resolveu o problema :-) Resumo, nem sempre a qualidade está nos melhores fóruns/respostas do mundo :-)
No Slackão, é só ir ao /etc/rc.d/rc.mysqld e comente a seguinte linha :
SKIP="--skip-networking"
Reinicie o mysql e seus códigos vão rodar ok. No fim, o que tira-se da dica é que o Driver do Java precisa de uma conexão tcp para acessar o banco. Mas, lógico, se alguém tiver uma dica para eu poder mandar o skip-networking funcionar me avise :-)
Ainda sou altamente newbie em java :-)