cheires Posted October 12, 2009 at 01:44 PM Report Share #291347 Posted October 12, 2009 at 01:44 PM Olá a todos. Estou com um problema de conecção à base de dados. tenho um programa em java que deveria conectar-se a uma base de dados MySql. O programa funciona, já foi testado anteriormente, só que recentemente tive que formatar o pc e reinstalar o linux. Só que depois de ter formatado o PC, e quando vou correr o programa, dá o seguinte erro. SQLException: State: 08S01Severity: 0 Communications link failure The last packet successfully received from the server was 1,255,354,460,681 milliseconds ago. The last packet sent successfully to the server was 0 milliseconds ago. Exception in thread "main" java.lang.NullPointerException Já escrevi de novo o código, já testei o código no Net Beans e Eclipse e é a mesma coisa. Já tentei, com o glassfish, criar uma connection pool e não consigo obter ligação à base de dados. Ah, obviamente que tenho o mysql-connector na minha classpath. Penso que poderá ser alguma coisa com a configuração do mysql, mas não consigo decifrar o quê. Será que alguém me pode ajudar? Estou meso desesperado, já tentei de tudo e nada faz a ligação. Abraço a todos. Link to comment Share on other sites More sharing options...
bruno1234 Posted October 12, 2009 at 08:14 PM Report Share #291406 Posted October 12, 2009 at 08:14 PM Tens q mostrar mais detalhes do problema, essa informação é insuficiente p te poder ajudar. Matraquilhos para Android. Gratuito na Play Store. https://play.google.com/store/apps/details?id=pt.bca.matraquilhos Link to comment Share on other sites More sharing options...
apocsantos Posted October 12, 2009 at 08:49 PM Report Share #291412 Posted October 12, 2009 at 08:49 PM Já verificas-te firewall??? "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito" Link to comment Share on other sites More sharing options...
cheires Posted October 13, 2009 at 09:18 AM Author Report Share #291477 Posted October 13, 2009 at 09:18 AM Tens q mostrar mais detalhes do problema, essa informação é insuficiente p te poder ajudar. O que coloquei aí é a stack trace do erro. Qual a informação que gostavas de mais de ter para ajudar a resolver o erro? Abraço Link to comment Share on other sites More sharing options...
cheires Posted October 13, 2009 at 09:19 AM Author Report Share #291478 Posted October 13, 2009 at 09:19 AM Já verificas-te firewall??? Penso não ter a firewall activa, mas como o acesso não passa pela porta ethernet, pode ser que o problema não se ponha (o acesso é local), mas mesmo assim é algo a verificar. Obrigado pela sugestão. Abraço Link to comment Share on other sites More sharing options...
KiNgPiTo Posted October 13, 2009 at 10:12 AM Report Share #291483 Posted October 13, 2009 at 10:12 AM Tenta instalar algum programa que comunique com a base de dados como o sqlyog ou mysql gui.. tenta comunicar com as bases de dados da tua ligação e se conseguires o problema está no teu programa senão o problema está na ligação e tens de ver o que se passa de errado no mysql server.. P.S.: Pode parecer muito mau, mas uma altura passei 2 tardes a tentar resolver algo semelhante quando o problema era que não tinha o servidor ligado.. Pode ser algo muito básico e não estares a dar com o problema visto já o teres conseguido pôr a funcionar.. Link to comment Share on other sites More sharing options...
cheires Posted October 13, 2009 at 01:34 PM Author Report Share #291502 Posted October 13, 2009 at 01:34 PM Tenta instalar algum programa que comunique com a base de dados como o sqlyog ou mysql gui.. tenta comunicar com as bases de dados da tua ligação e se conseguires o problema está no teu programa senão o problema está na ligação e tens de ver o que se passa de errado no mysql server.. P.S.: Pode parecer muito mau, mas uma altura passei 2 tardes a tentar resolver algo semelhante quando o problema era que não tinha o servidor ligado.. Pode ser algo muito básico e não estares a dar com o problema visto já o teres conseguido pôr a funcionar.. o phpmyadmin serve? É que com esse consigo aceder às BD existentes. O Servidor também está ligado. Penso que poderá ser, ou um problema com a firewall, ou com a configuração do próprio MySql. Link to comment Share on other sites More sharing options...
apocsantos Posted October 13, 2009 at 01:38 PM Report Share #291506 Posted October 13, 2009 at 01:38 PM PHPMyadmin serve, tenta aceder à bd, se conseguires aceder tens de rever o programa se não conseguires aceder pelo phpmyadmin indica qual o erro que deu. "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito" Link to comment Share on other sites More sharing options...
cheires Posted October 13, 2009 at 02:48 PM Author Report Share #291525 Posted October 13, 2009 at 02:48 PM PHPMyadmin serve, tenta aceder à bd, se conseguires aceder tens de rever o programa se não conseguires aceder pelo phpmyadmin indica qual o erro que deu. Sim com o phpmyadmin consigo aceder ao servidor e às bases de dados existentes, consigo também modificar essas bases de dados. Com o programa não há qualquer problema, pois estava a funcionar bem, antes de ter formatado o pc, e não foi alterado. O que postei como código no 1º post, é a stack trace do erro, ou seja, é o erro que dá. Link to comment Share on other sites More sharing options...
apocsantos Posted October 13, 2009 at 03:38 PM Report Share #291534 Posted October 13, 2009 at 03:38 PM Basicamente o teu programa consegue enviar dados para o servidor mas não os consegue receber. Verifica as configurações do mysql e que a versão do connector seja a mesma. Uma outra forma de despistagem seria escreveres uma data connection "fora do teu programa, como um programa à parte" e a testasses. Possivelmente é o connector que está a funcionar mal. "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito" Link to comment Share on other sites More sharing options...
cheires Posted October 13, 2009 at 04:16 PM Author Report Share #291539 Posted October 13, 2009 at 04:16 PM Basicamente o teu programa consegue enviar dados para o servidor mas não os consegue receber. Verifica as configurações do mysql e que a versão do connector seja a mesma. Uma outra forma de despistagem seria escreveres uma data connection "fora do teu programa, como um programa à parte" e a testasses. Possivelmente é o connector que está a funcionar mal. Então básicamente, necessito de ter a versão do connector igual à versão do MySql? Obrigado pelas respostas, foi a resposta mais conclusiva que tive até hoje, e já ando com isto à algum tempo... Link to comment Share on other sites More sharing options...
apocsantos Posted October 13, 2009 at 04:22 PM Report Share #291540 Posted October 13, 2009 at 04:22 PM A vesão do connector tem de ser compativel com a versão do mysql que estás a utilizar, basicamente o que está a acontecer é que a tua app consegue "falar" com o mysql, mas ele não responde, originando um "time-out". Normalmente isto acontece por problemas nos connectores. tanto em java como em outras linguagens... Espero que consigas resolver o erro, e depois digas como o solucionas-te, pois está a intrigar-me essa situação, e já me fez andar a rabiscar possibilidades num guardanapo na hora de almoço. "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito" Link to comment Share on other sites More sharing options...
cheires Posted October 14, 2009 at 10:16 AM Author Report Share #291639 Posted October 14, 2009 at 10:16 AM depois de uma pesquisa pelo google em relação à questão de compatibilidade entre o servidor MySql que estou a usar e o conector, verifiquei que eles são compatíveis. Estou a usar o MySql-5.0.84, e o conector mysql-connector-java-5.1.8.bin.jar Link to comment Share on other sites More sharing options...
apocsantos Posted October 14, 2009 at 10:45 AM Report Share #291641 Posted October 14, 2009 at 10:45 AM Já tentas-te verificar o codigo da connecção e a porta? pode ser isso a origem do erro 🙂 jdbc:mysql://localhost:3306/bd Sabes que versão do connnector usas-te inicialmente?? verifica se estas a usar a mesma versão do connector que usas-te quando desenvolves-te a aplicação. Por vezes entre versões de connectores existem diferenças e isso pode fazer uma grande diferença em termos de programação. A questão base é que o mysql não responde à tua app, ela manda-lhe informação e ele não lhe responde. Altera as configurações de time out do mysql em /etc/my.conf [mysqld] : : wait_timeout = 1800 connect_timeout = 10 : : Pode ser que isto resolva o problema, dando tempo ao mysql para responder, ainda assim o que me parece é que alguma coisa impede a tua app de receber dados do mysql, provavelmente o uso de versões diferentes do connector durante o desenvolvimento, e agora o deploy. Vai dizendo alguma coisa "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito" Link to comment Share on other sites More sharing options...
cheires Posted October 14, 2009 at 11:22 AM Author Report Share #291645 Posted October 14, 2009 at 11:22 AM Bem estou oficialmente a ficar desesperado. Testei o mesmo programa numa outra máquina, em que o erro foi exactamente o mesmo. Já não me lembra o conector que usei inicialmente, mas escrevendo o programa de novo, isso não iria interferir, pois havia uma adaptação quer da versão do IDE, MySql, connetor, etc. O resultado contina a ser o mesmo... Comunications Link Failure, inclusivé em máquinas diferentes. Link to comment Share on other sites More sharing options...
apocsantos Posted October 14, 2009 at 01:16 PM Report Share #291652 Posted October 14, 2009 at 01:16 PM o problema definitivamente está na connecção. Verifica o host name. Re-escrevendo o codigo poderia não alterar nada em termos de componente, porque por vezes os componentes variam de tal maneira que passam a ter expecificidades. A realidade é que o programa não consegue comunicar com o mysqld a solução provavelmente estará nalgum problema com o connector / connecção, aconselho rever, e talvez escrever uma rotina que execute um sql simples à bd em java com a a versão do connector que está a utilizar e veja se comunica, se comunicar, aconselho a comparar o codigo do programa, com o do novo "mini-programa" que consegue comunicar. assim terá uma despistagem eficaz do erro. "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito" Link to comment Share on other sites More sharing options...
cheires Posted October 15, 2009 at 02:24 PM Author Report Share #291755 Posted October 15, 2009 at 02:24 PM Bem, o problema já está resolvido. No /etc/rc.d/rc.mysql (uso Salckware)estava uma linha sem comentário com o seguinte código #To allow outside connections to the database comment out next line. SKIP="--skip-networking" Bastou reiniciar o mysql para o programa funcionar normalmente. E tanto tempo que eu perdi com esta treta. Obrigado apocsantos pelo seu interesse e ajuda. Se necessitar de alguma coisa da minha parte, apite 🙂 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now