Conexion a MYSQL remoto

Iniciado por REMHINOB, 9 Junio 2019, 18:52 PM

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

REMHINOB

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;
    }
   

}

rub'n

Cita de: REMHINOB en  9 Junio 2019, 18:52 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 ?


rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen

REMHINOB

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

rub'n

Cita de: 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

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á.


rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen