Oracle
 sql >> Base de données >  >> RDS >> Oracle

Obtenir la trace de la pile d'erreurs MySQL sur la connexion Oracle JDBC

Cette erreur se produit avec MySQL Connector/J 8 version 8.0.11 ou antérieure (et les versions jamais publiées de MySQL Connector/J 6). Vous devez effectuer une mise à niveau vers la version 8.0.12 ou supérieure (la dernière version actuelle est la 8.0.17, voir https://dev.mysql.com/downloads/connector/j/ ).

À partir du Connector/J Notes de version 8.0.12 :

Voir aussi https://bugs.mysql.com/bug.php?id=87600

En arrière-plan, normalement, les pilotes JDBC qui ne prennent pas en charge une URL spécifique (par exemple, basé sur le sous-protocole après jdbc: ), doit renvoyer null , et une exception ne doit être levée que si une URL est destinée au pilote, mais qu'il y a un problème avec l'URL ou avec la création d'une connexion.

Cependant, même avec ce bogue dans le pilote MySQL Connector/J, vous pourrez toujours vous connecter à une base de données Oracle, en tant que DriverManager essaiera chaque pilote jusqu'à ce qu'il soit capable d'ouvrir une connexion. Si aucun pilote n'a pu se connecter, il lancera le premier exception levée par n'importe quel pilote, ou - si tous les pilotes ont renvoyé null - il lancera un "Aucun pilote approprié trouvé" exception.

Dans ce cas, il semble que MySQL était le pilote essayé avant le pilote Oracle, et comme vous vous attendez à ce que votre connexion Oracle échoue également, il arrive simplement que l'exception MySQL soit levée, car c'était la première exception.

Bref, mettez à jour votre MySQL Connector/J.