[Android] Conexión BD externa. [Solucionado]

Iniciado por kondrag_X1, 14 Septiembre 2015, 08:26 AM

0 Miembros y 1 Visitante están viendo este tema.

kondrag_X1

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 (java) [Seleccionar]

Class.forName("com.mysql.jdbc.Driver").newInstance();


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

Código (java) [Seleccionar]

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
* Created by alarcon on 27/7/15.
*/
public class BBDDMySQL
{

   public Connection mConnection;

   boolean debug = true;
   public BBDDMySQL()
   {
       super();
   }

   public boolean Connect2BDMySQL (String user, String pass, String ip, String port, String catalog)
   {
       if (mConnection == null)
       {
           String urlMySQL = "";
           if (catalog != "")
           {
               urlMySQL = "jdbc:mysql://" + ip + ":" + port + "/" + catalog;
           }else
           {
               urlMySQL = "jdbc:mysql://" + ip + ":" + port;
           }

           if (!user.isEmpty() && !ip.isEmpty() && !port.isEmpty())
           {
               try
               {
                   Class.forName("com.mysql.jdbc.Driver").newInstance();
                   mConnection = DriverManager.getConnection(urlMySQL, user, pass);
               }
               catch (ClassNotFoundException e)
               {
                   if(debug)
                       System.out.println("Connect2BDMySQL --" +
                               " Connect2BDMySQL -> Error: " + e.getMessage());

                   return false;
               }
               catch (SQLException e)
               {
                   if(debug)
                    System.out.println("Connect2BDMySQL --" +
                               " Connect2BDMySQL -> Error: " + e.getMessage());

                   return false;
               } catch (InstantiationException e) {
                   e.printStackTrace();
               } catch (IllegalAccessException e) {
                   e.printStackTrace();
               }
           }
       }
       return true;
   }
}


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/