sql >> Database >  >> RDS >> Oracle

MySQL-foutstacktracering ophalen op Oracle JDBC Connection

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.




  1. Een Oracle-procedure hernoemen

  2. Hoe een rij in SQLite te krijgen op index (niet op id)

  3. Moet u meerdere insert-aanroepen maken of XML doorgeven?

  4. Recursieve zoekopdracht waarbij anker en lid vakbonden hebben