Foros del Web » Programación para mayores de 30 ;) » Java »

java.sql.SQLException Communication failure

Estas en el tema de java.sql.SQLException Communication failure en el foro de Java en Foros del Web. Hola, tengo instalado el tomcat y el server mysql. He hecho una aplicación uasndo java/servlets y bbdd mysql, con el server del oracle 10g (oc4j) ...
  #1 (permalink)  
Antiguo 24/08/2005, 11:19
 
Fecha de Ingreso: junio-2005
Mensajes: 17
Antigüedad: 18 años, 10 meses
Puntos: 0
java.sql.SQLException Communication failure

Hola, tengo instalado el tomcat y el server mysql. He hecho una aplicación uasndo java/servlets y bbdd mysql, con el server del oracle 10g (oc4j) me va estupendo, pero lo he intentado colgar del tomcat siguiendo las instrucciones y me da este error:
java.sql.SQLException: Communication failure during handshake. Is there a server running on localhost:3306?
Es raro pq el mysql server funciona correctamente (con el oc4j va) y le tengo puesto al tomcat el conector jdbc y nada sigue dando este fallo.
Por que puede ser???
Gracias y salu2
  #2 (permalink)  
Antiguo 25/08/2005, 01:56
 
Fecha de Ingreso: enero-2005
Mensajes: 139
Antigüedad: 19 años, 3 meses
Puntos: 0
Hola,

Si lo he entendido bien, estas intentando lanzar algo que ya funcionaba en MySQL contra un servidor Oracle, ¿verdad?.
  #3 (permalink)  
Antiguo 25/08/2005, 01:57
 
Fecha de Ingreso: enero-2005
Mensajes: 139
Antigüedad: 19 años, 3 meses
Puntos: 0
Perdón, se me quedo a medias....

Lo que quería decir es que el puerto de conexión de Oracle y MySQL no es el mismo. Así que deberás cambiar cosas en la cadena de conexión de JDBC.

Saludos.
  #4 (permalink)  
Antiguo 26/08/2005, 10:44
 
Fecha de Ingreso: junio-2005
Mensajes: 17
Antigüedad: 18 años, 10 meses
Puntos: 0
A ver si me explico, yo lo he probado con el servidor de aplicaciones del oracle jdveloper 10g (que es el oc4j) Luego, lo he probado en el tomcat y me da la excepcion de antes, mira el codigo de conexion:
Código:
try {
         Class.forName("com.mysql.jdbc.Driver").newInstance();
         this.connection = DriverManager.getConnection  ("jdbc:mysql://localhost:3306/mimame", "fran","mimame");
      }
      catch(Exception ex)
      { 
         System.out.println(ex.toString());
      }
El conector es el mismo en los dos casos no? es el conector jdbc q conecta mysql con java no?
La excepcion la veo en el terminal del tomcat y me da en esta linea:
Código:
PreparedStatement ps = this.connection.prepareStatement 
            ("SELECT * FROM usuarios WHERE User=? AND Pass=?");
Espero haberme explicao bien, gracias.
  #5 (permalink)  
Antiguo 27/08/2005, 01:11
 
Fecha de Ingreso: enero-2005
Mensajes: 139
Antigüedad: 19 años, 3 meses
Puntos: 0
Ah vale,

Perdona. Te explicaste bien pero no te entendí....

A mi lo que me parece muy curioso es que el error de comunicación te lo lance en el prepareStatement y no en el getConnection. Efectivamente, el conector JDBC debería ser el mismo.

¿Me podrías decir si el oc4j lleva un JRE propio?. Si es así, a lo mejor el problema está en la versión del entorno de java. En tal caso, el problema posiblemente se te solucione instalando un JRE nuevo para el Tomcat. A mi me ha pasado ya alguna vez que cosas que en Tomcat no funcionaban con la 1.4, sí lo han hecho con la 1.5.

A ver si esto ayuda...
  #6 (permalink)  
Antiguo 05/09/2005, 13:50
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
el error que yo veo es por que estas tratando de conectar con MySQL por el puerto 3306 lo cual es es el puesrto por defecto MySQL, pero estas teniendo conflictos con dicho puerto, asegurate de que no tengas otra aplicacion escuchando por el mismo puerto que MySQL

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #7 (permalink)  
Antiguo 12/09/2005, 11:17
 
Fecha de Ingreso: junio-2005
Mensajes: 17
Antigüedad: 18 años, 10 meses
Puntos: 0
y como se si tengo otra aplicación escuchando del mismo puerto?
  #8 (permalink)  
Antiguo 13/09/2005, 00:09
 
Fecha de Ingreso: enero-2005
Mensajes: 139
Antigüedad: 19 años, 3 meses
Puntos: 0
Hola,

Un telnet a ti mismo por ese puerto a ver si acepta la conexión, un netstat -an o usar Active Ports...

Saludos.
  #9 (permalink)  
Antiguo 21/06/2006, 07:01
Avatar de jhoncacru  
Fecha de Ingreso: mayo-2004
Ubicación: cochabamba-Bolivia
Mensajes: 107
Antigüedad: 20 años
Puntos: 1
Yo Tambien Tengo La Misma Duda

No sé que es lo que pasa, despues de formatear la máquina ya no quiere funcionar la base de datos Mysql con JSP, utilizo el dbmanager y logro conectarme correctamente desde esa herramienta, pero cuando quiero hacerlo desde una página JSP es el problema,
Le cambié la contraseña y a la hora de conectarme me notifica que la contraseña no es la correcta, modifico la contraseña por la correcta y es ahi donde me sale el error.

java.sql.SQLException: Communication failure during handshake. Is there a server running on localhost:3306?

que es lo que pasará??
__________________
Gracias de antemano.
  #10 (permalink)  
Antiguo 28/06/2006, 09:38
 
Fecha de Ingreso: noviembre-2004
Mensajes: 68
Antigüedad: 19 años, 5 meses
Puntos: 0
Estoy De Acuerdo Con Goncafa, Seguramente Le Cambiaste El Puerto Por Defecto Que Trae Mysql, Por Que El Error Lo Que Te Dice Es Que Debe Estar Corriendo Un Server Por El Puerto 3306 Del Localhost, O Es Que Tienes El Server Mysql En Otra Maquina, Ya Que Ese Es El Error No Encuentr El Server De Bd
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:20.