Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

221
Vistas
java.sql.SQLException: acceso denegado para el usuario '"java"'@'localhost' (usando contraseña: SÍ) usando el archivo de propiedades

Entiendo que esto podría ser algo muy básico, pero no estoy seguro de qué me estoy perdiendo exactamente aquí.

Estoy tratando de cargar un archivo de propiedades y tratando de establecer una conexión con MySQL, pero encuentro java.sql.SQLException

Archivo de propiedades:

 database.jdbc.url = jdbc:mysql://localhost:3306/foo database.jdbc.driver = "com.mysql.jdbc.Driver" database.jdbc.username = "java" database.jdbc.password = "whatever"

Código:

 private static final String PROPERTIES_FILE = "MyDatabaseProperties.properties"; private static final Properties PROPERTIES = new Properties(); private static final String PROPERTY_URL = "database.jdbc.url"; //private static final String PROPERTY_DRIVER = "database.jdbc.driver"; private static final String PROPERTY_USERNAME = "database.jdbc.username"; private static final String PROPERTY_PASSWORD = "database.jdbc.password"; static { try { PROPERTIES.load(new FileInputStream(PROPERTIES_FILE)); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } /** * Returns a connection to the database. * * @return A connection to the database. * @throws SQLException If acquiring the connection fails. */ public Connection getConnection() throws SQLException { if (connection == null) { // 1. connection = DriverManager.getConnection(PROPERTIES.getProperty(PROPERTY_URL), PROPERTIES.getProperty(PROPERTY_USERNAME), PROPERTIES.getProperty(PROPERTY_PASSWORD)); // THROWS EXCEPTION // 2. connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/foo", "java", "whatever"); // CONNECTS FINE } System.out.println("Connected!"); return connection; }

Cuando codifico la url , el nombre de username y password , la conexión se establece sin problemas, pero PROPERTIES.getProperty genera una excepción.

 java.sql.SQLException: Access denied for user '"java"'@'localhost' (using password: YES) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836) at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456) at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246) at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:197) at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677) at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228) at core.DatabaseLoader.getConnection(DatabaseLoader.java:74) at app.AppMain.main(AppMain.java:22)
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

La sintaxis del archivo de propiedades no requiere comillas, si las agrega se vuelven parte del valor de la propiedad. Usar

 database.jdbc.driver = com.mysql.jdbc.Driver database.jdbc.username = java database.jdbc.password = whatever
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda