sql >> Database teknologi >  >> RDS >> Oracle

Får MySQL-fejlstaksporing på Oracle JDBC-forbindelse

Denne fejl opstår med MySQL Connector/J 8 version 8.0.11 eller tidligere (og de aldrig frigivne MySQL Connector/J 6 versioner). Du skal opgradere til 8.0.12 eller nyere (aktuel seneste version er 8.0.17, se https://dev.mysql.com/downloads/connector/j/ ).

Fra Connector/J 8.0.12 release notes :

Se også https://bugs.mysql.com/bug.php?id=87600

Som baggrund er normalt JDBC-drivere, der ikke understøtter en specifik URL (f.eks. baseret på underprotokollen efter jdbc: ), skal returnere null , og en undtagelse bør kun kastes, hvis en URL er til driveren, men der er et problem med URL'en eller med at oprette en forbindelse.

Men selv med denne fejl i MySQL Connector/J-driveren, vil du stadig være i stand til at oprette forbindelse til en Oracle-database som DriverManager vil prøve hver driver, indtil den er i stand til at åbne en forbindelse. Hvis ingen drivere var i stand til at oprette forbindelse, vil den kaste den første undtagelse kastet af enhver driver, eller - hvis alle drivere returnerede null - det vil kaste et "Ingen passende driver fundet" undtagelse.

I dette tilfælde ser det ud til, at MySQL var driveren prøvet før Oracle-driveren, og da du forventer, at din Oracle-forbindelse også svigter, kommer det bare til at kaste MySQL-undtagelsen, da det var den første undtagelse.

Lang historie kort, opdater din MySQL Connector/J.




  1. Bedste praksis til lagring af brugernavne og adgangskode i MySQL-databaser

  2. Problem med symfony 1.49 og MySQL 5.5.8

  3. Få variabel i while-løkke baseret på, hvad brugeren vælger?

  4. PostgreSQL ved hjælp af pg_trgm langsommere end fuld scanning