Foro de elhacker.net

Programación => Java => Mensaje iniciado por: REMHINOB en 9 Junio 2019, 18:52 pm



Título: Conexion a MYSQL remoto
Publicado por: REMHINOB en 9 Junio 2019, 18:52 pm
Hola, necesito su ayuda, tengo este codigo que uso para guardar mis datos en MYSQL, en red local trabaja bien, pero cuando quiero guardar en mi DB Mysql remoto se hace lento, no se si es por el hosting o es mi codigo,
Este mismo codigo lo uso para enviar datos de un JTable a mi base de datos y cuando son muchos registros es el problema, podrian revisarlo por favor y darme sus observaciones, de antemano gracias.

public int GuardarDatos(String sql, String [] columnas){
        conexion=new Clases.Conexion();
        int res = 0;
            try {
                pst=conexion.getConnection().prepareStatement(sql);
                for(int x=0;x<columnas.length;x++){
                    //javax.swing.JOptionPane.showMessageDialog(null,x + "--> " +columnas

    );


                    pst.setString(x+1,columnas

    );


                }
                res = pst.executeUpdate();
                pst.close();
//                psql.close();
            } catch (SQLException e) {
                javax.swing.JOptionPane.showMessageDialog(null, "Error al intentar almacenar la información:\n"
                                             + e, "Error en la operación", javax.swing.JOptionPane.ERROR_MESSAGE);
            }finally{
                try{
                    conexion.cerrarConexion();
                }catch(Exception e){
                    javax.swing.JOptionPane.showMessageDialog(null,e);
                }
            }
        return res;

    }

este es el codigo de conexion:
public class Conexion {
    //public DataSource dataSource;
//    private DataSource dataSource=null;
//    private BasicDataSource basicDataSource=null;
   
    private static Connection connection;
    private static final String HOST="192.168.0.122";
    private static final String DB="mibasededatos";
    private static final String USER="root"
    private static final String PASS="aabbccdd";
   
   

   
    public Conexion(){
        connection=null;
        try{
            String url="jdbc:mysql://" + HOST + "/" + DB;
            Class.forName("com.mysql.jdbc.Driver");
            connection=(Connection) DriverManager.getConnection(url,USER,PASS);
            System.out.println("Conexion Abierta");
        }catch(SQLException e){
            System.out.println("SQLException " + e.getMessage());
        }catch(ClassNotFoundException e){
            System.out.println("Exception " + e.getMessage());
        }

    }
   
    public void cerrarConexion(){
        if(connection!=null){
            try{
                connection.close();
                System.out.println("Conexion Cerrada");
            }catch(SQLException e){
                System.out.println("SQLException Close" + e.getMessage());
            }
        }
    }
   
    public Connection getConnection() {
        return connection;
    }
   
 
}


Título: Re: Conexion a MYSQL remoto
Publicado por: rub'n en 9 Junio 2019, 20:47 pm
Este mismo codigo lo uso para enviar datos de un JTable a mi base de datos y cuando son muchos registros es el problema

Que tal?

Y como cual es el problema? se te congela la UI y cual mas ? falta de paciencia o que ?


Título: Re: Conexion a MYSQL remoto
Publicado por: REMHINOB en 9 Junio 2019, 23:51 pm
El problema es al crear un ciclo for para que vaya guardando registro a registro del JTable se hace lento al guardar en el host remoto creo que es por estar abriendo y cerrando conexiones


Título: Re: Conexion a MYSQL remoto
Publicado por: rub'n en 10 Junio 2019, 07:11 am
El problema es al crear un ciclo for para que vaya guardando registro a registro del JTable se hace lento al guardar en el host remoto creo que es por estar abriendo y cerrando conexiones

Si es un host remoto como dices, espero que no sea localhost XD,

* Como es tu conexión a ese host? Velocidad de descarga, tiempo de respuesta.
* Qué tan largo será ese array de Strings?
* Abría que probar de manera asíncrona
* Quien más sabrá ? Ni Dios sabrá.