almarti
Fevereiro 14, 2007, 1:57pm
#1
Estou tentando acessar um banco meu na net e não estou conseguindo. O Que há de errado?
userName = "uaisoluc";
userPassword = "blabla";
urlBanco = "jdbc:mysql:http://uaisolucoescombr.t5.com.br:3306/";
jdbcDriver = "org.gjt.mm.mysql.Driver";
[code]
try{
Class.forName(jdbcDriver);
objCon = DriverManager.getConnection(urlBanco, userName, userPassword);
return objCon;
}
[/quote]
shison
Fevereiro 14, 2007, 2:00pm
#2
Qual o erro que acontece?
almarti
Fevereiro 14, 2007, 2:01pm
#3
Não conecta e no meu try retorna null
tenta trocar a URL pelo IP do Banco de Dados…na sua varíavel…
as vezes pode ser um problema de resolução de nomes DNS…
Dá um telnet tipo esse:
telnet uaisolucoescombr.t5.com.br 3306
E vê se você tem resposta. Eu não tive. Ou isso é uma resolução interna da sua rede ou é provável que você esteja tentando acessar externamente um BD mas a porta dele não tenha sido disponibilizada pelo firewall. Nesse caso, se você tiver uma conexão ssh, pode fazer um túnel privado para a sua máquina/servidor local e acessar através de localhost:3306.
Ou não é nada disso porque como o código que você escreveu foi meio pouquinho, pode não estar mostrando o erro dado (que aparentemente foi uma NullPointerException).
almarti
Fevereiro 14, 2007, 2:48pm
#7
Acertei o nome da url e agora o erro que retorna é
No suitable driver
almarti
Fevereiro 14, 2007, 3:05pm
#8
Segue minha classe de conexão
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class conexao {
/**
* Conexão com o BD.
*/
private Connection objConexao = null;
private String urlBanco = null;
private String userName = null;
private String userPassword = null;
private String jdbcDriver = null;
private Statement objComando = null;
/**
* Cosntrutor Padrão
*
*/
public conexao() {
super();
userName = "uaisoluc";
userPassword = "xxx";
urlBanco = "jdbc:mysql:http://www.uaisolucoes.com.br:3306/";
jdbcDriver = "org.gjt.mm.mysql.Driver";
}
/**
* Retorna uma java.sql.Connection.
* @return objConexao
*/
public Connection AbreConexaoBD() {
try {
if (objConexao == null) {
Class.forName(jdbcDriver);
objConexao = DriverManager.getConnection(urlBanco, userName, userPassword);
} else if (objConexao.isClosed()) {
objConexao = null;
return AbreConexaoBD();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return objConexao;
}
public ResultSet ExecutaSQL(String strSQL){
objConexao = AbreConexaoBD();
try{
//objComando = objConexao.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
objComando = objConexao.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
// Executando a query
ResultSet objRS = objComando.executeQuery(strSQL);
// Retornando o ResultSet
return objRS;
}
catch(Exception e){
System.out.println (e.getMessage());
return null;
}
}
public ResultSet ExecutaSQLLogin(String strSQL){
objConexao = AbreConexaoBD();
try{
//objComando = objConexao.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
objComando = objConexao.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
// Executando a query
ResultSet objRS = objComando.executeQuery(strSQL);
// Retornando o ResultSet
return objRS;
}
catch(Exception e){
System.out.println ("<script>document.location.href='login_erro.jsp';</script>");
return null;
}
}
public synchronized void ExecutaUpdate(String strSQL){
objConexao = AbreConexaoBD();
try{
//objComando = objConexao.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
objComando = objConexao.createStatement();
// Executando a query
objComando.executeUpdate(strSQL);
objConexao.commit();
// Retornando o ResultSet
//return RS;
}
catch(Exception e){
System.out.println (e.getMessage());
//return null;
}
}
/**
* Fecha a conexão com BD.
*
*/
public void FechaConexaoBD() {
if (objConexao != null) {
try {
objConexao.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
Não conecta? Estarei esquecendo alguma configuração no web-xml?
shison
Fevereiro 14, 2007, 3:23pm
#9
Você colocou o jar do mysql connector na devida pasta? (WEB-INF/lib “se não me engano”) ?
almarti
Fevereiro 14, 2007, 3:31pm
#10
Sim, está lá mas é a versão 3. To baixando a 5 para testar
almarti
Fevereiro 14, 2007, 3:40pm
#11
Troqueio o drive, coloquei o mysql-connector-java-5.0.4-bin.jar mas o erro prevalece:
No suitable driver
almarti
Fevereiro 14, 2007, 4:02pm
#12
Algumas considerações:
Não tenho a base em localhost, só tenho direto no servidor net.
Alterei o Class-Path: mysql-connector-java-5.0.4-bin.jar
Mas também não resolveu. Não consigo entender o porque não acessa.
almarti
Fevereiro 14, 2007, 4:32pm
#13
Sei que tá chato isto… Fiz algumas mudanças e consegui o seguinte erro:
Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.SocketException\nMESSAGE: java.net.ConnectException: Connection timed out: connect
STACKTRACE:
java.net.SocketException: java.net.ConnectException: Connection timed out: connect
com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
com.mysql.jdbc.MysqlIO.(MysqlIO.java:284)
com.mysql.jdbc.Connection.createNewIO(Connection.java:2541)
com.mysql.jdbc.Connection.(Connection.java:1474)
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
java.sql.DriverManager.getConnection(DriverManager.java:525)
java.sql.DriverManager.getConnection(DriverManager.java:171)
com.celulajava.palestradwr.dao.conexao.AbreConexaoBD(conexao.java:55)
com.celulajava.palestradwr.dao.conexao.ExecutaSQLLogin(conexao.java:91)
com.celulajava.palestradwr.bean.Login.Validar(Login.java:54)
org.apache.jsp.acesso.acessar_jsp._jspService(acessar_jsp.java:57)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Thread.java:595)\r\n\n\n** END NESTED EXCEPTION **
Last packet sent to the server was 0 ms ago."
Conhecido de alguem?
Toda conexão tem um tempo máximo pelo qual ela aguarda a resposta do servidor. Esse tempo não foi suficiente. Isso pode indicar que o servidor está com problemas ou que a sua conexão (de rede mesmo) ao servidor está lenta demais.