conecção mysql com problemas!

22 respostas
A

:frowning: oi, tenho uma duvida, fiz uma classe que acessa o banco de dados. ja copiei o arquivo .JAR para o diretorio j2sdkversao/jre/lib/ext. e copiei as pastas que vem junto desse arquivo para o diretorio do j2sdkversao. mas não consigo adicionar pessoas no banco de dados mysql. meu codigo esta abaixo. sou novo no java, mas quero aprender rapido!!! me ajudem por favor!!!
espero resposta!!!

try{ 
   Class.forName("org.gjt.mm.mysql.Driver");
   Connection conn = DriverManager.getConnection("/var/lib/mysql/agenda","","");
   Statement stm = conn.createStatement();
   String sql=new String("Insert into contatos(nome,email,telres1,telres2,telcel1,telcel2) Values("+textNome.getText()+","+textEmail.getText()+","+textTelres1.getText()+","+textTelres2.getText()+","+textTelcel1.getText()+","+textTelcel2.getText()+")");
   stm.executeUpdate(sql);
   stm.close();
   conn.close();
}
catch(Exception ex) {
   System.err.print("MYSQL error!");
}

22 Respostas

L

Cara esse teu codigo ta meio estranho nao entendi este DriverManager.getConnection("/var/lib/mysql/agenda","",""); , pode pelo menos explicar seu raciocinio.

J

Blz :?:

O primeiro parâmetro deste método (getConnection) é uma URL. Um exemplo de URL:

jdbc:mysql://IP_Da_Máquina:Porta/Nome_Do_Banco

jdbc:mysql://192.168.0.1:3000/agenda

:smiley:

A

“JavaTeco”:
Blz :?:

O primeiro parâmetro deste método (getConnection) é uma URL. Um exemplo de URL:

jdbc:mysql://IP_Da_Máquina:Porta/Nome_Do_Banco

jdbc:mysql://192.168.0.1:3000/agenda

:D

esse IP tem que ser o da minha maquina, certo??? como sei o IP dela. e eu poderia negar esse parametro se vou rodar o aplicativo em uma maquina local??

T

Bom axo que faltou vc iniciar o DRIVE MySQL … vc só tem q criar uma
nova instancia da classe…

não estou em casa… por isso meu código pode haver erro na forma de escrever o comando … tente usar esse código…

try{ 
   //Faltou instanciar a classe... by Another-X
   Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
   Connection conn = DriverManager.getConnection("/var/lib/mysql/agenda","",""); 
   Statement stm = conn.createStatement(); 
   String sql=new String("Insert into contatos(nome,email,telres1,telres2,telcel1,telcel2) Values("+textNome.getText()+","+textEmail.getText()+","+textTelres1.getText()+","+textTelres2.getText()+","+textTelcel1.getText()+","+textTelcel2.getText()+")"); 
   stm.executeUpdate(sql); 
   stm.close(); 
   conn.close(); 
} 
catch(Exception ex) { 
    //é sempre bom imprimir qual foi o erro... 
    //fica + facil de debugar... By Another-X
   System.err.print("MYSQL error: " + ex.getMessage());
   //por aqui ele dirá qual é o erro que está ocorrendo... By Anthoer-X
}

Se continuar o erro… posta aki a saido do ex.getMessage();

A

:frowning: cara, peguei um exemplo pronto de mysql e mudei os parametros que eu achava necessario!!! mas não deu certo. vc pode me explicar cada passo e dar um exemplo rapido com o comando insert??? MUUIIITOOO OOBBRRIIGGAADOOO!!! :smiley:

T

sim eskeci isso também… teu Connection ta errado

//use esse
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/nomDoSeuBancoMySQL?user=seu_usuario&password=sua_senha");

Acho q é assim os parametros… como disse não estou em casa :0

A

“Another-X”:
Bom axo que faltou vc iniciar o DRIVE MySQL … vc só tem q criar uma
nova instancia da classe…

não estou em casa… por isso meu código pode haver erro na forma de escrever o comando … tente usar esse código…

try{ 
   //Faltou instanciar a classe... by Another-X
   Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
   Connection conn = DriverManager.getConnection("/var/lib/mysql/agenda","",""); 
   Statement stm = conn.createStatement(); 
   String sql=new String("Insert into contatos(nome,email,telres1,telres2,telcel1,telcel2) Values("+textNome.getText()+","+textEmail.getText()+","+textTelres1.getText()+","+textTelres2.getText()+","+textTelcel1.getText()+","+textTelcel2.getText()+")"); 
   stm.executeUpdate(sql); 
   stm.close(); 
   conn.close(); 
} 
catch(Exception ex) { 
    //é sempre bom imprimir qual foi o erro... 
    //fica + facil de debugar... By Another-X
   System.err.print("MYSQL error: " + ex.getMessage());
   //por aqui ele dirá qual é o erro que está ocorrendo... By Anthoer-X
}

Se continuar o erro… posta aki a saido do ex.getMessage();

:cry: o erro é que ele não acha o driver.
NO SUITABLE DRIVER.
só que esta tudo no classpath e eu não sei o que tenho que fazer!!!
HELP-ME :oops:

T

Cara não sei q pacote de drivers q vc pegou… mas o pacote certe tem esse endereço

Class.forName("com.mysql.jdbc.Driver").newInstance();

e vc esta usando outro

Class.forName("org.gjt.mm.mysql.Driver").newInstance();

Torque pelo pacote de cima… que o drive roda… c vc não souber onde pegar o pacote me avisa… q eu posto aki

T

o link pra baixar o drive q é este

http://www.mysql.com/get/Downloads/Connector-J/mysql-connector-java-3.0.11-stable.zip/from/http://www.linorg.usp.br/mysql/

nele vc pega o drive pra usar este comando

Class.forName("com.mysql.jdbc.Driver").newInstance(); 
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/nomeDoSeuBanco?user=root&password=root");
T

Se quiser + instruções de como usar a conexão com mysql veja esse link

http://www.mysql.com/documentation/connector-j/index.html

A

“Another-X”:
Cara não sei q pacote de drivers q vc pegou… mas o pacote certe tem esse endereço

Class.forName("com.mysql.jdbc.Driver").newInstance();

e vc esta usando outro

Class.forName("org.gjt.mm.mysql.Driver").newInstance();

Torque pelo pacote de cima… que o drive roda… c vc não souber onde pegar o pacote me avisa… q eu posto aki

troquei a linha de comando, mas o erro continua o mesmo!!! me fale onde pego o driver o como instala-lo, por favor!! aguardo resposta!!! :slight_smile:

A

“Another-X”:
Se quiser + instruções de como usar a conexão com mysql veja esse link

http://www.mysql.com/documentation/connector-j/index.html

:slight_smile: acho que estou caminhando. o erro mudou, agora é:
DATA SOURCE REJECTED ESTABLISHMENT OF CONNECTION, MESSAGE FROM SERVER: #HY000Host ‘localhost.localdomain’ IS NOT ALLOWED TO CONNECT TO THIS MYSQL SERVER
o que é desta vez?? estou quase la!! :smiley:

T

Bom se o erro é o mesmo vc deve ter a classe… não entendo o q pode estar acontecendo… então vou enviar o código todo…

try{ 
   //Faltou instanciar a classe... by Another-X 
   Class.forName("com.mysql.jdbc.Driver").newInstance(); 
   //se vc não tiver o drive vai gerar uma exceção do tipo
   //ClassNotFoundException... caso isso não ocorro o drive vc tem!

   //aqui vc tem q mudar o Nome_Do_Banco para o nome do seu
   //banco de dados... mude também o usuario e senha...
   //ou entaum mude a senha do usuario root para root
   Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/Nome_Do_Banco?user=root&password=root");
   
   Statement stm = conn.createStatement(); 
   String sql=new String("Insert into contatos(nome,email,telres1,telres2,telcel1,telcel2) Values("+textNome.getText()+","+textEmail.getText()+","+textTelres1.getText()+","+textTelres2.getText()+","+textTelcel1.getText()+","+textTelcel2.getText()+")"); 
   stm.executeUpdate(sql); 
   stm.close(); 
   conn.close(); 
} 
catch(ClassNotFoundException ex) {
    //vai entrar aki caso vc não tenha o drive
    System.err.print("Class error: " + ex.getMessage()); 
}
catch(Exception ex) { 
    //é sempre bom imprimir qual foi o erro... 
    //fica + facil de debugar... By Another-X 
   System.err.print("MYSQL error: " + ex.getMessage()); 
   //por aqui ele dirá qual é o erro que está ocorrendo... By Anthoer-X 
}

me fala o q deu

T

“AprendizJava”:
“Another-X”:
Se quiser + instruções de como usar a conexão com mysql veja esse link

http://www.mysql.com/documentation/connector-j/index.html

:slight_smile: acho que estou caminhando. o erro mudou, agora é:
DATA SOURCE REJECTED ESTABLISHMENT OF CONNECTION, MESSAGE FROM SERVER: #HY000Host ‘localhost.localdomain’ IS NOT ALLOWED TO CONNECT TO THIS MYSQL SERVER
o que é desta vez?? estou quase la!! :D

bom este erro ai é q seu usuario e senha não estaum corretos…
vc tem q mudar o código… ou ir no seu MySQL e setar o usuario e senha e o localhost definidos no seu codigo

T

Seu problema esta nesta linha de comando…

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/Nome_Do_Banco?user=root&password=root");

Ou seja… configure ela… mude o seu banco de dados
mude o seu usuario
e mude a sua senha…

isso vc tem no banco mysql

… ele ja tem setado assim… se não me engano…

se eu não me engano o usuario root… começa sem senha…

e o banco de dados test… já vem com o mysql

A

“Another-X”:
“AprendizJava”:
“Another-X”:
Se quiser + instruções de como usar a conexão com mysql veja esse link

http://www.mysql.com/documentation/connector-j/index.html

:slight_smile: acho que estou caminhando. o erro mudou, agora é:
DATA SOURCE REJECTED ESTABLISHMENT OF CONNECTION, MESSAGE FROM SERVER: #HY000Host ‘localhost.localdomain’ IS NOT ALLOWED TO CONNECT TO THIS MYSQL SERVER
o que é desta vez?? estou quase la!! :D

bom este erro ai é q seu usuario e senha não estaum corretos…
vc tem q mudar o código… ou ir no seu MySQL e setar o usuario e senha e o localhost definidos no seu codigo

como faço para não ter que colocar user e password no codigo?? :wink: pois quero levar esse projeto para outros computadores e não quero ter que mudar o codigo toda vez!!!

T

“AprendizJava”:
“Another-X”:
“AprendizJava”:
“Another-X”:
Se quiser + instruções de como usar a conexão com mysql veja esse link

http://www.mysql.com/documentation/connector-j/index.html

:slight_smile: acho que estou caminhando. o erro mudou, agora é:
DATA SOURCE REJECTED ESTABLISHMENT OF CONNECTION, MESSAGE FROM SERVER: #HY000Host ‘localhost.localdomain’ IS NOT ALLOWED TO CONNECT TO THIS MYSQL SERVER
o que é desta vez?? estou quase la!! :D

bom este erro ai é q seu usuario e senha não estaum corretos…
vc tem q mudar o código… ou ir no seu MySQL e setar o usuario e senha e o localhost definidos no seu codigo

como faço para não ter que colocar user e password no codigo?? :wink: pois quero levar esse projeto para outros computadores e não quero ter que mudar o codigo toda vez!!!

faiz um método

quando for xamar a conexão…

public Connection getConn(String user, String pass) {
Connection conn = null;
  try {
    conn = DriverManager.getConnection("jdbc:mysql://localhost/Nome_Do_Banco?user=" + user +"&password=" + pass); }
catch (Exceptions ex) {}
return conn;
}

ai vc xama a conexão atravéz do método…

A

:? cara, eu uso linux e ja esta tudo certo. mas não consigo me conectar. vc disse que o erro era no USER e PASSWORD!!! sou root e coloco root no USER e não coloco nada no PASSWORD. mas ele continua dando o mesmo erro !!! :frowning:

T

esse user / pass é do MySQL e naum do linux… vc tem q saber como ta a senha e a conta dentro do MySQL…

outra coisa é q vc tem q saber q banco vc ta usando… provavelmente dentro do mysql deve ter o banco test… q é de acesso publico

A

esse user / pass é do MySQL e naum do linux… vc tem q saber como ta a senha e a conta dentro do MySQL…

outra coisa é q vc tem q saber q banco vc ta usando… provavelmente dentro do mysql deve ter o banco test… q é de acesso publico

8O como fasso para olhar minha conta no mysql?? e altera-la??

M

bash#> mysqladmin -u root -p password ‘suasenha’

J

ahhh as vezes o mysql pira e não pede senha, tente não passar a senha somente o seu user tipo

mysqladmin -u root

falou ai!

Criado 26 de fevereiro de 2004
Ultima resposta 27 de fev. de 2004
Respostas 22
Participantes 6