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

Conexion SQL con java

Estas en el tema de Conexion SQL con java en el foro de Java en Foros del Web. Buenas a todos, Estoy realizando un proyecto en el que tengo que gestionar bases de datos desde java, el proyecto consiste en una red social ...
  #1 (permalink)  
Antiguo 26/04/2012, 03:52
 
Fecha de Ingreso: abril-2012
Mensajes: 6
Antigüedad: 12 años
Puntos: 0
Conexion SQL con java

Buenas a todos,
Estoy realizando un proyecto en el que tengo que gestionar bases de datos desde java, el proyecto consiste en una red social (ojo, no sera online) cuya base de datos estará en un servidor. Bien, el problema es el siguiente, no sé si utilizar apache tomcat o puedo utilizar un servidor local de MySQL(tengo que utilizar MySQL para el proyecto). He intentado hacerlo con el servidor local de MySQL(localhost, puerto 3306) y desde java he utilizado el J connector. Sin embargo no consigo conectarme a la base de datos y a veces el driver no lo encuentra. Para cargar el driver utilizo:
Class.forName("com.mysql.jdbc.Driver"); con su try y catch correspondiente, pero me salta la excepción muchas veces. Alguna vez he conseguido que esto funcione correctamente pero al ejecutar:
DriverManger.getConnection(URL,user,password); nunca realiza la conexión con éxito.
Podrían ayudarme con la duda sobre apache tomcat y el localhost MySQL y con cómo conectarme.
Muchas gracias de antemano
  #2 (permalink)  
Antiguo 26/04/2012, 04:18
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: Conexion SQL con java

Hola igagop,
sobre lo que comentas:
Cita:
Iniciado por igagop Ver Mensaje
no sé si utilizar apache tomcat o puedo utilizar un servidor local de MySQL
Apache Tomcat es un servidor HTTP (web) y el Servidor de MySQL es únicamente de acceso a los datos.

Cuando te salta la excepción del try catch, qué te da?

Un saludo.
  #3 (permalink)  
Antiguo 26/04/2012, 04:33
 
Fecha de Ingreso: abril-2012
Mensajes: 6
Antigüedad: 12 años
Puntos: 0
Respuesta: Conexion SQL con java

com.mysql.jdbc.exceptions.jdbc4.CommunicationsExce ption: Communications link failure
El codigo es muy basico pero es lo que utilizo para la conexion:

public static void main(String []args) {

try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("driver");
}
try {
Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/","user","");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("conexion");
}
}
La excepcion me salta en el segundo try
  #4 (permalink)  
Antiguo 26/04/2012, 04:49
 
Fecha de Ingreso: abril-2012
Mensajes: 6
Antigüedad: 12 años
Puntos: 0
Respuesta: Conexion SQL con java

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Construc tor.java:525)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:41 1)
at com.mysql.jdbc.SQLError.createCommunicationsExcept ion(SQLError.java:1116)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:348)
at com.mysql.jdbc.ConnectionImpl.coreConnect(Connecti onImpl.java:2385)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(Co nnectionImpl.java:2422)
at com.mysql.jdbc.ConnectionImpl.createNewIO(Connecti onImpl.java:2207)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImp l.java:797)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connect ion.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Construc tor.java:525)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:41 1)
at com.mysql.jdbc.ConnectionImpl.getInstance(Connecti onImpl.java:389)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonReg isteringDriver.java:305)
at java.sql.DriverManager.getConnection(DriverManager .java:579)
at java.sql.DriverManager.getConnection(DriverManager .java:221)
at sql.main(sql.java:16)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Du alStackPlainSocketImpl.java:69)
at java.net.AbstractPlainSocketImpl.doConnect(Abstrac tPlainSocketImpl.java:337)
at java.net.AbstractPlainSocketImpl.connectToAddress( AbstractPlainSocketImpl.java:198)
at java.net.AbstractPlainSocketImpl.connect(AbstractP lainSocketImpl.java:180)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.j ava:157)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.j ava:391)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:241)
at com.mysql.jdbc.StandardSocketFactory.connect(Stand ardSocketFactory.java:257)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:298)
... 15 more
conexion
  #5 (permalink)  
Antiguo 26/04/2012, 05:21
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: Conexion SQL con java

Sin tenerlo delante es muy dificil averiguarlo, pero por las primeras lineas del primer y segundo segundo POST diría que no tienes el servicio iniciado de mysql.

Un saludo.
  #6 (permalink)  
Antiguo 26/04/2012, 05:33
 
Fecha de Ingreso: abril-2012
Mensajes: 6
Antigüedad: 12 años
Puntos: 0
Respuesta: Conexion SQL con java

En caso de ser eso, ¿cómo lo inicio?
  #7 (permalink)  
Antiguo 26/04/2012, 05:37
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: Conexion SQL con java

Suponiendo que lo tengas como Servicio, haz lo siguiente:

Ves a "Mi PC" y pulsas con el botón derecho, en el menú vas a "Administrar".

Se te abrirá la ventana "Administración de equipos", en el menú de la izquierda vas abajo del todo a "Servicios y Aplicaciones" y dentro de éste verás "Servicios". Pulsas encima y te saldrá a la derecha todos los servicios de Windows.... Busca "mysql". Entras dentro y le das al botón "Iniciar".

Luego pruebas tu aplicación de nuevo.

Un saludo.
  #8 (permalink)  
Antiguo 26/04/2012, 17:51
Avatar de fahs82  
Fecha de Ingreso: abril-2012
Ubicación: guadalajara
Mensajes: 139
Antigüedad: 12 años
Puntos: 12
Respuesta: Conexion SQL con java

checate este tutorial a partir del minuto 8 comienza lo de la conexion pero te recomiendo lo veas todo desde el inicio http://www.youtube.com/watch?v=aVhrUpgmYqc

sin complicarme yo tengo una clase que es mi conexion a mysql te la paso a continuacion tambien , me funciona a la perfeccion y con ella hago todo lo que necesito updates , inserts
deletes y calculos , te recomiendo veas los demas tutoriales para que te des una idea de como usar los statements , los resultset y las tablas

package BaseDatos;
import java.sql.*;
import javax.swing.JOptionPane;

/**
*
* @author FAHS82
*/
public class ConexionMySQL {

public String db = "JZAP";
public String iploc ="localhost";
public String url ="jdbc:mysql://" + iploc +"/" + db;
public String usuario ="root";
public String pass = "";

public ConexionMySQL()
{}

public Connection Conectar()
{
Connection link = null;
try
{
Class.forName("org.gjt.mm.mysql.Driver");

link = DriverManager.getConnection(this.url,this.usuario, this.pass);
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null,e);
}
return link;
}
}

Etiquetas: conexion, mysql, sql
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 11:35.