Vc está usando as variáveis “localhost” e “SGCC” sendo que elas não foram declaradas…
Isto são variáveis ou o que deve estar na url mesmo? que se for o que deve estar na url é só mandar a string direto, não colocando as ‘"’… ex.:
String url = "jdbc:mysql://localhost/sgcc"; // a JDBC url
Olá fiz o teste de conexão utilizando o código abaixo, mas na hora de execução apareceu a seguinte mensagem de erro:
exception in thread “main” java.lang.NoSuchMethoError:main
Press any key to continue…
Por favor estou precisando muito resolver isso…depende de um semestre perdido…helpppppppp. obrigada
código utilizado para a conexão
import java.sql.*;
public class Conexao {
privatestaticConexaoinstancia;privateConnectionconexao;privateStringservidor="localhost";privateStringnomeBanco="sgcc";privateStringusuario="aluno";privateStringsenha="aluno";publicstaticConexaoget()throwsException{try{if(instancia==null){instancia=newConexao();}returninstancia;}catch(Exceptione){thrownewException("Ocorreu um erro ao conectar com o banco de dados");}}publicConexao()throwsException{Class.forName("com.mysql.jdbc.Driver").newInstance();conexao=DriverManager.getConnection("jdbc:mysql://"+servidor+"/"+nomeBanco,usuario,senha);}}
C
CarneiroPJ
Tá faltando o método principal main para a execução do seu código.
R
reginanPJ
olá obrigada por responder …mas como faço esse método?
Regina
C
CarneiroPJ
mportjava.sql.*;publicclassConexao{privatestaticConexaoinstancia;privateConnectionconexao;privateStringservidor="localhost";privateStringnomeBanco="sgcc";privateStringusuario="aluno";privateStringsenha="aluno";publicstaticConexaoget()throwsException{try{if(instancia==null){instancia=newConexao();}returninstancia;}catch(Exceptione){thrownewException("Ocorreu um erro ao conectar com o banco de dados");}}publicConexao()throwsException{Class.forName("com.mysql.jdbc.Driver").newInstance();conexao=DriverManager.getConnection("jdbc:mysql://"+servidor+"/"+nomeBanco,usuario,senha);}publicstaticvoidmain(String[]args){Conexaoconexao=newConexao();conexao=get();}}
R
reginanPJ
fiz o teste mas ...continua ocorrendo erro..
unreported exception java.lang.Exception;must be caught or declared to be thrown conexão.java line 32
unreported exception java.lang.Exception;must be caught or declared to be thrown conexão.java line 34
unreported exception java.lang.Exception;must be caught or declared to be thrown conexão.java line 32
unreported exception java.lang.Exception;must be caught or declared to be thrown conexão.java line 34.
Porque vc não usa 2 classes, uma pra vc usar e outra só para testar?
Talvez isso te ajude
importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;/** * @author java_blues */publicclassConnectionFactory2{static{try{Class.forName("com.mysql.jdbc.Driver");}catch(ClassNotFoundExceptione){System.out.println(e.getMessage());e.printStackTrace();}}privatestaticConnectionconnection;publicstaticConnectiongetConnection(Stringdatabase,Stringuser,Stringpass)throwsSQLException{/*Se algum dia vc precisar de uma conexão remota basta trocar o localhost pelo IP e a porta do servidor separando-os com ':' sem aspas */connection=DriverManager.getConnection("jdbc:mysql://localhost/"+database,user,pass);returnconnection;}}
Você compila a classe e deixa ela quietinha lá.
E roda essa pra poder testar…
importjava.sql.*;/**** @author java_blues */publicclassConnectionTester{privateConnectionconexao;privateStatementstmt;privateResultSetrs;publicvoidtestaConexao()throwsSQLException{try{/*Note que o metodo getConnection fornece conexões para qualquer banco do MySQL, bastando trocar os parametros */conexao=ConnectionFactory2.getConnection("sgcc","aluno","aluno");stmt=conexao.createStatement();//use uma consulta suars=stmt.executeQuery("SELECT * FROM TABELA_ALUNOS");while(rs.next()){//use um campo de sua tabelaSystem.out.println(rs.getString("NOME_ALUNO"));}}catch(SQLExceptions){s.printStackTrace();}finally{/*Nao se esqueca de liberar os recursos do banco no bloco finally pois assim, aconteça o que acontecer não ficará nenhuma conexao 'pendurada' no banco */rs.close();stmt.close();conexao.close();}}publicstaticvoidmain(String[]args){ConnectionTesterteste=newConnectionTester();try{teste.testaConexao();}catch(SQLExceptione){e.printStackTrace();}}}
O bom é que você pode aproveitar a classe ConnectionFactory2 pra qualquer
outra conexão MySQL no futuro.
P
peeterwebPJ
Seguinte Regina, esse código que eu usei e postei aqui com exemplo (parte) deu certo!!!
Segue o código completo, teste e mude apenas os nomes de usuario e senha do seu banco, além do nome do banco é claro e tbm as variaveis declaradas!
packagefontes;importjava.sql.*;publicclassConexao{privatestaticConexaoinstancia;privateConnectionconexao;privateStringservidor="localhost";privateStringnomeBanco="SEU_BANCO";privateStringusuario="SEU_USUARIO";privateStringsenha="SUA_SENHA";publicstaticConexaoget()throwsException{try{if(instancia==null){instancia=newConexao();}returninstancia;}catch(Exceptione){thrownewException("Ocorreu um erro ao conectar com o banco de dados");}}publicConexao()throwsException{Class.forName("com.mysql.jdbc.Driver").newInstance();conexao=DriverManager.getConnection("jdbc:mysql://"+servidor+"/"+nomeBanco,usuario,senha);}publicstaticResultSetler(Stringsql)throwsException{Statementst=Conexao.get().getConexao().createStatement();System.out.println(sql);ResultSetrs=st.executeQuery(sql);returnrs;}publicvoidatualizar(Stringsql)throwsException{Statementst=Conexao.get().getConexao().createStatement();st.executeUpdate(sql);System.out.println(sql);}publicjava.sql.ConnectiongetConexao(){returnconexao;}}
Abs.
R
reginanPJ
Fiz as modificações da linha com o comando que enviou… e dessa vez obtive êxito … que dizer apareceu uma frase de espera… tem que aparecer alguma frase de conexao com exito, apesar que no codigo nao esta mandando enviar nem uma mensagem.
Bom… abrir o programa e realizei um cadastro mas não salvou no banco ocorrendo o erro abaixo, será que isso tem haver com a conexão ou é o programa que esta com bug, se ainda puder ajudar … obrigada.