TransWikia.com

La conexión java con mysql no funciona

Stack Overflow en español Asked by carlos Aburto on January 20, 2021

Estaba Intentando crear un archivo que abre una base de datos mysql todo bien, asta que se me ocurrió hacerlo private static final, para poder utilizarlo en otros documentos, y no encuentra las variables.

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

public class Conexio {
    private static final String CONTROLADOR = "com.mysql.jdbc.Driver";
    private static final String url = "jdbc:mysql://localhost:3306/bd";
    private static final String Usuario = "root";
    private static final String clave = "";
    static {
        try {
            Class.forName("CONTROLADOR");
        } catch (ClassNotFoundException e) {
            System.out.println("Error al cargar el controlador");
            e.printStackTrace();    
        }
    }
    public Connection conectar() {
        Connection conexion = null;
         try {
                Class.forName("controlador");
                conexion  =DriverManager.getConnection("url", "Usuario", "clave");          
                System.out.println("conexion establecida");
            } catch (ClassNotFoundException e) {
                 
            } catch (SQLException e) {
                System.out.println("error en la conecion");
                e.printStackTrace();    
            }
        return conexion;
    }
  
}

y esta es la ventana del error que me aparece

One Answer

Prueba a cambiar los string que has puesto de parámetro en el método getConnection().

Así:

Class.forName(CONTROLADOR);
conexion  = DriverManager.getConnection(url, Usuario, clave); 

Y cualquier otra constante o objeto que hayas puesto como string.

No tengo donde probarlo en tiempo real, pero las CONSTANTES no se ponen entre paréntesis, y recuerda que debes ponerlas en mayúsculas.

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

public class Conexio {
    private static final String CONTROLADOR = "com.mysql.jdbc.Driver";
    private static final String URL = "jdbc:mysql://localhost:3306/bd";
    private static final String USUARIO = "root";
    private static final String CLAVE = "";
    static {
        try {
            Class.forName(CONTROLADOR);
        } catch (ClassNotFoundException e) {
            System.out.println("Error al cargar el controlador");
            e.printStackTrace();    
        }
    }
    public Connection conectar() throws SQLException {
        Connection conexion = null;
         try {
                Class.forName(CONTROLADOR);
                conexion  = DriverManager.getConnection(URL, USUARIO, CLAVE);          
                System.out.println("conexion establecida");
            } catch (ClassNotFoundException e) {
                 
            } catch (SQLException e) {
                System.out.println("error en la conecion");
                e.printStackTrace();    
            }
        return conexion;
    }
  
}

Correct answer by Neury on January 20, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP