Também é bom ver se não tem nenhum firewall bloqueando a porta 3306 na máquina em que o mysql está instalado (se for um windows, acrescente uma regra para a liberação desta porta no firewall do windows)
Valter_Henrique
iogui:
Tira este “:” do final da uri de conexão e coloca o nome do banco de dados que vc vai acessar:
final private String urlBd = "jdbc:mysql://192.168.1.4/databaseName";
Oi meu velho,
então cara, já tem a exceção no windows que esta rodando o banco, tanto que meu amigo consegue acessar remotamente.
Sobre tirar o ‘:’ é só para dizer que virá a porta 3306 em seguida, pois irei concatenar a string com o numero da porta e tudo mais,rs.
publicclassConexaoBD{privatestaticConexaoBDinstance=null;privateConnectioncon;privateStatementstm;finalprivateStringurlBd="jdbc:mysql://valterhenrique.sytes.net:";finalprivateStringporta="3306";finalprivateStringschema=<schema>;finalprivateStringusuario=<usuario>;finalprivateStringsenha=<senha;privateConexaoBD()throwsDAOException{try{Class.forName("com.mysql.jdbc.Driver");con=DriverManager.getConnection(urlBd+porta+"/"+schema+"?user="+usuario+"&password="+senha);stm=con.createStatement();}catch(Exceptione){thrownewDAOException("Erro ao conectar-se com o banco de dados");}}publicstaticConexaoBDgetInstance()throwsDAOException{if(instance==null){instance=newConexaoBD();}returninstance;}
Esta assim no momento, com o valores entre ‘< >’ claro,rs.
O acesso já foi liberado Daniel , tanto que ele consegue acessar o banco remotamente, agora eu que estou na rede que possui o banco não… isso que tah estranho pra mim.
iogui
Bom… então se vc já configurou o acesso remoto, já liberou as portas do firewall, não temos mais o que ajudar a menos que vc poste uma exception ou alguma informação mais conclusiva sobre o problema.
Imagindo que, se vc está tentando acessar e não está conseguindo, deve estar sendo lançada alguma exception, certo?
Dica:
Troque a linha:
throw new DAOException("Erro ao conectar-se com o banco de dados");
por isto:
throw new DAOException("Erro ao conectar-se com o banco de dados", e);
Se o seu DAOException não possui construtor que aceite uma msg e um throwable, crie um pois tem mensagem de erro que pode estar sendo mascarada por esse seu código.
Na classe que estiver fazendo uso desta classe de conexão, coloque um cast(DAOException e) e dê um printstacktrace.
Se estiver usando log4j, use o método com dois argumentos:
log.debug(e,e);
Pois o segundo argumento pega o throwable e printa a stacktrace.