elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  [Android] Conexión BD externa. [Solucionado]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Android] Conexión BD externa. [Solucionado]  (Leído 1,541 veces)
kondrag_X1

Desconectado Desconectado

Mensajes: 157


Ver Perfil
[Android] Conexión BD externa. [Solucionado]
« en: 14 Septiembre 2015, 08:26 am »

Hola,

Estoy intentando que se conecte el Android directamente a la BD Mysql de mi ordenador y cuando llega a la línea

Código
  1. Class.forName("com.mysql.jdbc.Driver").newInstance();
  2.  

me salta la excepción ClassNotFoundException a que se debe???

Código
  1. import java.sql.Connection;
  2. import java.sql.DriverManager;
  3. import java.sql.ResultSet;
  4. import java.sql.SQLException;
  5. import java.sql.Statement;
  6.  
  7. /**
  8.  * Created by alarcon on 27/7/15.
  9.  */
  10. public class BBDDMySQL
  11. {
  12.  
  13.    public Connection mConnection;
  14.  
  15.    boolean debug = true;
  16.    public BBDDMySQL()
  17.    {
  18.        super();
  19.    }
  20.  
  21.    public boolean Connect2BDMySQL (String user, String pass, String ip, String port, String catalog)
  22.    {
  23.        if (mConnection == null)
  24.        {
  25.            String urlMySQL = "";
  26.            if (catalog != "")
  27.            {
  28.                urlMySQL = "jdbc:mysql://" + ip + ":" + port + "/" + catalog;
  29.            }else
  30.            {
  31.                urlMySQL = "jdbc:mysql://" + ip + ":" + port;
  32.            }
  33.  
  34.            if (!user.isEmpty() && !ip.isEmpty() && !port.isEmpty())
  35.            {
  36.                try
  37.                {
  38.                    Class.forName("com.mysql.jdbc.Driver").newInstance();
  39.                    mConnection = DriverManager.getConnection(urlMySQL, user, pass);
  40.                }
  41.                catch (ClassNotFoundException e)
  42.                {
  43.                    if(debug)
  44.                        System.out.println("Connect2BDMySQL --" +
  45.                                " Connect2BDMySQL -> Error: " + e.getMessage());
  46.  
  47.                    return false;
  48.                }
  49.                catch (SQLException e)
  50.                {
  51.                    if(debug)
  52.                     System.out.println("Connect2BDMySQL --" +
  53.                                " Connect2BDMySQL -> Error: " + e.getMessage());
  54.  
  55.                    return false;
  56.                } catch (InstantiationException e) {
  57.                    e.printStackTrace();
  58.                } catch (IllegalAccessException e) {
  59.                    e.printStackTrace();
  60.                }
  61.            }
  62.        }
  63.        return true;
  64.    }
  65. }
  66.  

Solución: vaya fallo no me había cogido la librería de sql, no estaba linkada.
--------------------------------------
Pero sigo sin poder conectarme a la BD ahora el problema es que no me puedo conectar.

Connect2BDMySQL -- Connect2BDMySQL -> Error: Could not create connection to database server.
SQLState: 08001
VendorError: 0

Parece que es un problema de red, pero tengo ambos dispositivos conectados en la misma red.

Solución.

El problema no era del código si no de la configuración del MySQL para solucionarlo había que proporcionale permisos al usuario y habilitar en mysql las conexiones externeas. Ojito si teneis ferial activo.

aquí un enlace con los pasos a seguir.

http://www.trey.es/blog/base-de-datos/mysql/permitir-conexiones-externas-mysql/


« Última modificación: 15 Septiembre 2015, 17:10 pm por kondrag_X1 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines