Java - No puedo conectar a base de datos

   
Vista:

No puedo conectar a base de datos

Publicado por Eliot (1 intervención) el 26/06/2016 02:24:49
Saludos. Soy novato con esto de conectar a bases de datos. Tengo un problema y es que cuando uso wampserver todo me funciona perfectamente pero al intentar cambiar los datos de conexión por unos reales no se conecta. ¿Que estaré haciendo mal? He adquirido un hosting gratuito, meto los datos que me dan:

1
2
3
4
private static final String driver = "com.mysql.jdbc.Driver";
private static final String user = "u116645155_user";
private static final String password = "la_contraseña";
private static final String url = "jdbc:mysql://mysql.hostinger.es:3306/u116645155_base/";

y me intento conectar....

1
2
3
4
5
Class.forName(driver);
conn = (Connection) DriverManager.getConnection(url, user, password);
if (conn != null){
    System.out.println("Conexión establecida");
}

El error que me sale es este:

Error al conectarcom.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.


A ver si alguien me puede ayudar porque en san google solo encuentro ejemplos que se conectan al wamp y no a un servidor "real". Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

No puedo conectar a base de datos

Publicado por Yamil Bracho (2072 intervenciones) el 26/06/2016 02:32:42
Chequea si tienes acceso al servidor de BD, ya sea ping o por algun otro cliente de MySQL.
Lo otro que puedes hacer es usar la direccion IP en vez del nombre del servidor...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No puedo conectar a base de datos

Publicado por Maritza (4 intervenciones) el 26/06/2016 11:33:31
Hola!
El error que te muestra indica que la conexión al servidor no se realiza.
Debes de verificar los puertos que estas brindando , por que muchas veces cuando instalas wamp instala Mysql con su puerto 3306 y mencionas que tienes un hosting y en tu conexión llamas al hosting con el puerto 3306 . creo que estan cochando ambos programas por la asignación del puerto, lo que puedes hacer es cambiar el numero del puerto para que tu conexión solo reconozca el puerto 3306 con su respectivo software.
Espero te ayude en algo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No puedo conectar a base de datos

Publicado por Esmeralda (10 intervenciones) el 27/06/2016 17:55:56
Hola !!! si no tienes otro servidor instalado tienes que hacer lo siguiente>
1. Verificar en que puerto se instalo
2. Checar que tu conexión este correcta
EJEMLPLO

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
import java.sql.*;
 
public class conectarMostrar {
    private static Connection conexion = null;
    private static String bd = "agenda"; // Nombre de BD.
    private static String user = "root"; // Usuario de BD.
    private static String password = ""; // Password de BD.
    // Driver para MySQL en este caso.
    private static String driver = "com.mysql.jdbc.Driver";
    // Ruta del servidor.
    private static String server = "jdbc:mysql://localhost/" + bd;
 
    public static void main(String[] args) throws SQLException {
 
        System.out.println("INICIO DE EJECUCIÓN.");
        conectar();
        Statement st = conexion();
 
        // Se elimina la tabla "personal" en caso de existir.
        String cadena = "DROP TABLE IF EXISTS personal;";
        consultaActualiza(st, cadena);
 
        // Se crea la tabla "personal"
        cadena = "CREATE TABLE personal (`Identificador` int(11) NOT NULL AUTO_INCREMENT, `Nombre` varchar(50) NOT NULL, `Apellidos` varchar(50) NOT NULL, `Telefono` varchar(9) DEFAULT NULL, `Email` varchar(60) DEFAULT NULL, PRIMARY KEY (`Identificador`))";
        consultaActualiza(st, cadena);
 
        // Se crean datos de prueba para utilizarlos en la tabla "personal"
        cadena = "INSERT INTO personal (`Identificador`, `Nombre`, `Apellidos`, `Telefono`, `Email`) VALUES (1, 'José', 'Martínez López', '968112233', 'jose@martinezlopez.com'), (2, 'María', 'Gómez Muñoz', '911876876', 'maria@gomezoliver.com'), (3, 'Juan', 'Sánchez Fernández', '922111333', 'juan@sanchezfernandez.com'), (4, 'Ana', 'Murcia Rodríguez', '950999888', 'ana@murciarodriguez.com');";
        consultaActualiza(st, cadena);
 
        // Se sacan los datos de la tabla personal
        cadena = "SELECT * FROM personal;";
        ResultSet rs = consultaQuery(st, cadena);
        if (rs != null) {
            System.out.println("El listado de persona es el siguiente:");
 
            while (rs.next()) {
                System.out.println("  ID: " + rs.getObject("Identificador"));
                System.out.println("  Nombre completo: "
                        + rs.getObject("Nombre") + " "
                        + rs.getObject("Apellidos"));
 
                System.out.println("  Contacto: " + rs.getObject("Telefono")
                        + " " + rs.getObject("Email"));
 
                System.out.println("- ");
            }
            cerrar(rs);
        }
        cerrar(st);
        System.out.println("FIN DE EJECUCIÓN.");
    }
 
    /**
     * Método neecesario para conectarse al Driver y poder usar MySQL.
     */
    public static void conectar() {
        try {
            Class.forName(driver);
            conexion = DriverManager.getConnection(server, user, password);
        } catch (Exception e) {
            System.out.println("Error: Imposible realizar la conexion a BD.");
            e.printStackTrace();
        }
    }
 
    /**
     * Método para establecer la conexión con la base de datos.
     *
     * @return
     */
    private static Statement conexion() {
        Statement st = null;
        try {
            st = conexion.createStatement();
        } catch (SQLException e) {
            System.out.println("Error: Conexión incorrecta.");
            e.printStackTrace();
        }
        return st;
    }
 
    /**
     * Método para realizar consultas del tipo: SELECT * FROM tabla WHERE..."
     *
     * @param st
     * @param cadena La consulta en concreto
     * @return
     */
    private static ResultSet consultaQuery(Statement st, String cadena) {
        ResultSet rs = null;
        try {
            rs = st.executeQuery(cadena);
        } catch (SQLException e) {
            System.out.println("Error con: " + cadena);
            System.out.println("SQLException: " + e.getMessage());
            e.printStackTrace();
        }
        return rs;
    }
 
    /**
     * Método para realizar consultas de actualización, creación o eliminación.
     *
     * @param st
     * @param cadena La consulta en concreto
     * @return
     */
    private static int consultaActualiza(Statement st, String cadena) {
        int rs = -1;
        try {
            rs = st.executeUpdate(cadena);
        } catch (SQLException e) {
            System.out.println("Error con: " + cadena);
            System.out.println("SQLException: " + e.getMessage());
            e.printStackTrace();
        }
        return rs;
    }
 
    /**
     * Método para cerrar la consula
     *
     * @param rs
     */
    private static void cerrar(ResultSet rs) {
        if (rs != null) {
            try {
                rs.close();
            } catch (Exception e) {
                System.out.print("Error: No es posible cerrar la consulta.");
            }
        }
    }
 
    /**
     * Método para cerrar la conexión.
     *
     * @param st
     */
    private static void cerrar(java.sql.Statement st) {
        if (st != null) {
            try {
                st.close();
            } catch (Exception e) {
                System.out.print("Error: No es posible cerrar la conexión.");
            }
        }
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Pedro Ivan

No puedo conectar a base de datos

Publicado por Pedro Ivan (15 intervenciones) el 06/07/2016 19:18:00
HOLA ELIOT.....

Bueno prmeramente te compartiré el código el cual puedes utilizar para hacer una conexión con tu base de datos.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class conexion { /// es una clase conexión
     public static final String URL = "jdbc:mysql://localhost:3306/registro"; //La cual recibe tres parámetros que es la url donde le darás la dirección a la base de datos.
    public static final String USERNAME = "root"; /// ingresaras el usuario el cual te da ingreso al gestor de base de datos.
    public static final String PASSWORD = "pedro";// ingresas la contraseña.
 
    public static Connection getConnection() { //abres una conexión donde creas un flujo el cual te dirá si en verdad la conexión si se logro si no te retornara un error.
        Connection connection = null;
 
        try {
            Class.forName("com.mysql.jdbc.Driver");
            connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
        } catch (Exception e) {
            System.out.println(e);
        }
 
        return connection;
    }
}
Espero y te aya servido ....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No puedo conectar a base de datos

Publicado por J. Carlos UTTT (16 intervenciones) el 11/07/2016 07:05:57
Hola haber intenta con otra cadena de conexión...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public ctrlConexion() throws SQLException {
 
	try {
 
		Class.forName("com.mysql.jdbc.Driver");
		Con = DriverManager.getConnection(ecConexion.getUrl(), ecConexion.getUser(), ecConexion.getPassword());
	} catch (ClassNotFoundException classNotFound) {
 
		System.out.println(classNotFound.getMessage() + "Error, No se ha encontrado el Driver");
		System.exit(1);
	}
}
//</editor-fold>
 
//<editor-fold defaultstate="collapsed" desc="Metodos">
public void cerrarConexion() throws SQLException {
	Con.close();
 
}
 
public Connection getCon() {
	return Con;
}
 
public void setCon(Connection Con) {
	this.Con = Con;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar