Pessoal, estou estudando um pouco MySQL e o acesso via JAVA.
Instalei o mysql-4.0.20d-win, o MySQL-Front_2.5, e configurei o classpath do eclipse para mysql-connector-java-5.1.5-bin.jar .
Testei vários códigos q achei na net e no guj, mas nada!
O Eclipse não apresenta nenhum erro e o programa fica rodando...
Simplesmente... nada acontece e eu tenho que parar o programa (stop)...
segue o código:
importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;classConexaoComMySQL{publicstaticvoidmain(String[]args){try{Class.forName("com.mysql.jdbc.Driver");Connectionconn=DriverManager.getConnection("jdbc:mysql://127.0.0.1/exemplo?user=root&password=root");Statementstm=conn.createStatement();ResultSetrs=stm.executeQuery("SELECT Nome, Idade FROM tbl_exemplo");System.out.println(rs);}catch(Exceptione){e.toString();}}
cara tenho esse exemplo de conexão que fiz para um colega esses dia da uma olhada
publicclassExemploJDBC{publicstaticvoidmain(String[]args){//eclaração das variaveis necessarias Connectionconexao=null;Statementstm=null;Stringsit="";ResultSetrs=null;try{// essa é a classe que é carregada para fazer a conexão jdbc com a base de dadosClass.forName("com.mysql.jdbc.Driver").newInstance();/*coloque no lugar de "teste" o nome do seu banco e no lugar de root o seu usuário e 12345 a sua senha coloquei usuário root por que por padrão o mysql cria esse usuário como no linux no seu caso pode usar ele já pois ele já foi criado existe */conexao=DriverManager.getConnection("jdbc:mysql://localhost:3306/teste","root","12345");/* esse jdbc:mysql://localhost:3306 e onde o banco está ou seja na sua maquina e a porta 3306 que é padrão no mysql*///stm objeto que recebe a conexãostm=conexao.createStatement();// se a connexão der certo aparecera a mensagem Conexao realizada com sucessosit="Conexao realizada com sucesso";System.out.println(sit);//rs e o resulte set que recebe o retorno da consulta SQLrs=stm.executeQuery("select * from usuario");// looping para interar e imprimir os dadoswhile(rs.next()){Stringnome=rs.getString(1);Stringsenha=rs.getString(2);System.out.println(nome);System.out.println(senha);}// aqui o stm que contém o stamente recebe uma instrução insert e se executada//imprime confirmaçãostm.executeUpdate("insert into usuario (login,senha)values ('fabricio','farias')");System.out.println("comando insert executado com exito");// catch usado para avisar se der algum erro na consulta SQL com um Exception}catch(Exceptione){sit="Nao foi possivel conexaoectar "+e.getMessage();System.out.println(sit);}}}
e quanto ao seu problema coloque essa linha no local do seu problema e altere para seus dados
conexao=DriverManager.getConnection("jdbc:mysql://localhost:3306/teste","root","12345");/* esse jdbc:mysql://localhost:3306 e onde o banco está ou seja na sua maquina e a porta 3306 que é padrão no mysql*/
o mencionado não e usuario e senha invalidos e sim a sintaxe do comando por favor coloque a sintaxe indicada
espero ter ajudado
G
guilherme.cq
Mesma coisa... não conecta e não mostra nenhum erro...
importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;classConexao{publicstaticvoidmain(String[]args){try{Class.forName("com.mysql.jdbc.Driver");Connectionconn=DriverManager.getConnection("jdbc:mysql://localhost:3306/exemplo","root","root");Statementstm=conn.createStatement();ResultSetrs=stm.executeQuery("SELECT Nome, Idade FROM tbl_exemplo");System.out.println(rs);}catch(Exceptione){e.toString();}}}
Quais os procedimentos para a instalação?
Digo.. o mysql é só next, certo?!
colocar no classpath do eclipse o mysql-connector-java-5.1.5-bin.jar ...
algo mais???
importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;classConexao{publicstaticvoidmain(String[]args){try{Class.forName("com.mysql.jdbc.Driver");Connectionconn=DriverManager.getConnection("jdbc:mysql://localhost:3306/exemplo","root","root");System.out.println("Conectado?!");Statementstm=conn.createStatement();ResultSetrs=stm.executeQuery("SELECT Nome, Idade FROM tbl_exemplo");while(rs.next()){Stringnome=rs.getString(1);Stringidade=rs.getString(2);System.out.println(nome);System.out.println(idade);}}catch(Exceptione){e.toString();}}}
maquiavelbona
Tente pegar um connector mais antigo, versão 3 . Pela documentação, o conector dá suporte apartir da versão 4.1 do MySQL. Ou atualize o MySQL, as versões antes da 4.1 deixam a desejar.
Até!
kaique
Cara, você tem certeza que seu banco foi inciado?
Se você utiliza windows, vai no prompt de comando e escreve o seguinte comando:
netstat -a
Na listagem que aparecer verifica se a porta 3306 está aberta e na situação LISTENING…
[]'s.
maquiavelbona
kaique:
Cara, você tem certeza que seu banco foi inciado?
Se você utiliza windows, vai no prompt de comando e escreve o seguinte comando:
netstat -a
Na listagem que aparecer verifica se a porta 3306 está aberta e na situação LISTENING…
[]'s.
Se não tivesse iniciado, a primeira coisa que ia acontecer era erro do socket tentando conectar. Ia vir o lindo “Connection refused”.
Até!
kaique
Com relação ao post do maquiavelbona, sempre baixe no site do mysql (banco de dados, driver JDBC) aquilo que eles marcarem como recommended. Eu sempre fiz dessa maneira e nunca tive problemas de conexão com o mysql…
[]'s.
gerdec
tente esse driver talvez possa ter alguma incompatibilidade com o seu mysql
Class.forName("org.gjt.mm.mysql.Driver");
RenataFA
guilherme.cq:
Pessoal, estou estudando um pouco MySQL e o acesso via JAVA.
Instalei o mysql-4.0.20d-win, o MySQL-Front_2.5, e configurei o classpath do eclipse para mysql-connector-java-5.1.5-bin.jar .
Testei vários códigos q achei na net e no guj, mas nada!
O Eclipse não apresenta nenhum erro e o programa fica rodando...
Simplesmente... nada acontece e eu tenho que parar o programa (stop)...
Amigo, se vc instalou o mysql 4, pq não usa um connector equivalente?! Vc tá usando um connector pra versão 5. Ou senão muda a versão do seu Mysql, enfim,,,, use uma versão do banco e do connector equivalentes.
Eu tenho instalado o MySQL 5.0.24 e uso o connector mysql-connector-java-5.0.4-bin.jar.
importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;classConexao{publicstaticvoidmain(String[]args){try{Class.forName("com.mysql.jdbc.Driver");Connectionconn=DriverManager.getConnection("jdbc:mysql://localhost:3306/exemplo","root","root");System.out.println("Conectado?!");Statementstm=conn.createStatement();ResultSetrs=stm.executeQuery("SELECT Nome, Idade FROM tbl_exemplo");while(rs.next()){Stringnome=rs.getString(1);Stringidade=rs.getString(2);System.out.println(nome);System.out.println(idade);}}catch(Exceptione){e.toString();}}}
Obrigado pela ajuda.
G
guilherme.cq
Uma duvidinha, como faço para imprimir a tabela com os dados alinhados?!
Utilizei o printf assim:
System.out.printf("%s%20s\n",nome,idade);
Mas ficou torto, ele conta 20 casa depois do 1º dado… assim:
GuiGui 20
Guilherme 20
eu quero algo assim:
GuiGui 20
Guilherme 20
G
guilherme.cq
Ops… o poste nao saiu certo… enfim… alinhamento a esquerda para o nome e alinhamento a direita para a idade…
G
guilherme.cq
achei na api…
System.out.printf("%-20s%s\n",nome,idade);
RenataFA
guilherme.cq:
Caralho mais que merda hein!!!
Agora funcionou…
Estou utilizando as seguintes versões:
Eclipse SDK
Version: 3.3.0
MySQL Server 5.0
MySQL-Front
Version: 3.2 (Build: 14.8)
mysql-connector-java-5.1.5-bin.jar
Obrigado pela ajuda.
É então, se existem versões diferentes deve ser por algum motivo né? rs…