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

325
Vistas
Usando mysql-connector-java en Flink: no se encontró un controlador adecuado al conectarse a mysql> = 8.0.16

Estoy escribiendo un programa Flink simple para mover datos de MySQL a Mongo.

Estoy usando mysql-conector-java 8.0.16.

El problema

Cuando intento conectarme a nuestra base de datos env de prueba (MySQL 8.0.15), el programa funciona bien. La cadena de conexión se ve así:

 jdbc:mysql://my-test-db-url:3306/my_db_name

Pero una vez que lo conecté a nuestra base de datos de producción (MySQL 8.0.16), obtuve:

 java.sql.SQLException: No suitable driver found for jdbc:mysql://my-prod-db-url:3306/my_db_name

La única diferencia de estos DB es la versión menor (15 vs 16).

lo que he probado

Actualización de la base de datos de prueba para que coincida con la versión de la base de datos de producción

Actualicé mi base de datos de prueba a 8.0.16 para ver si hay un problema con esa versión del servidor mysql. Y, de hecho, ahora tampoco puedo conectarme a la base de datos de prueba, obteniendo la misma excepción.

Después de eso, continué actualizando mysql-connector-java y test DB a 8.0.17, pero el problema persiste.

En mis otros proyectos, puedo conectarme a esas bases de datos mysql muy bien (usando spring data jpa con mysql-connector-java 8.0.18). Entonces el servidor db no debería tener ningún problema.

Coloque manualmente mysql-connector-java jar en la carpeta flink/lib

esto no funcionó

Registrar el controlador manualmente en la clase principal y el método abierto de mi función fuente mysql

no se arrojó ningún error en la clase principal

 // tried both Class.forName("com.mysql.jdbc.Driver").newInstance(); Class.forName("com.mysql.cj.jdbc.Driver").newInstance();

También me aseguré de que, después de ejecutar el paquete maven, mi fat jar contuviera los archivos de clase del conector.

Ahora estoy bastante despistado. Alguien por favor sálvame.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Resolví el mismo problema usando Class.forName("org.sqlite.JDBC") (estaba usando sqlite) antes de llamar a DriverManager.getConnection . Es casi lo mismo que has probado pero sin llamar a newInstance() .

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