Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

324
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda