Deze fout treedt op met MySQL Connector/J 8 versie 8.0.11 of eerder (en de nooit uitgebrachte MySQL Connector/J 6-versies). U moet upgraden naar 8.0.12 of hoger (huidige nieuwste versie is 8.0.17, zie https://dev.mysql.com/downloads/connector/j/ ).
Van de Connector/J 8.0.12 release-opmerkingen :
Zie ook https://bugs.mysql.com/bug.php?id=87600
Als achtergrond, normaal gesproken, JDBC-stuurprogramma's die geen specifieke URL ondersteunen (bijvoorbeeld gebaseerd op het subprotocol na jdbc:
), zou null
moeten retourneren , en er mag alleen een uitzondering worden gegenereerd als een URL voor het stuurprogramma is, maar er een probleem is met de URL of met het maken van een verbinding.
Maar zelfs met deze bug in het MySQL Connector/J-stuurprogramma zou u nog steeds verbinding kunnen maken met een Oracle-database, als DriverManager
zal elk stuurprogramma proberen totdat het een verbinding kan openen. Als er geen stuurprogramma's konden verbinden, gooit het de eerste uitzondering gegenereerd door een stuurprogramma, of - als alle stuurprogramma's null
hebben geretourneerd - het geeft een "Geen geschikte driver gevonden" uitzondering.
In dit geval lijkt het erop dat MySQL het stuurprogramma was dat vóór het Oracle-stuurprogramma werd geprobeerd, en aangezien u verwacht dat uw Oracle-verbinding ook zal mislukken, wordt er toevallig de MySQL-uitzondering gegenereerd, aangezien dat de eerste uitzondering was.
Om een lang verhaal kort te maken, update je MySQL Connector/J.