Il existe deux façons de résoudre ce problème :
-
définir le
noAccessToProcedureBodies=truede la connexion propriétéPar exemple, dans le cadre de la chaîne de connexion :
jdbc:mysql://ipaddress:3306/test?noAccessToProcedureBodies=trueLe pilote JDBC créera alors des chaînes "INOUT" pour les arguments sans nécessiter de métadonnées comme le dit l'exception.
-
Accorder
SELECTprivilèges surmysql.procà l'utilisateur de la base de donnéesPar exemple dans l'invite mysql :
GRANT SELECT ON mysql.proc TO 'user'@'localhost';Bien sûr, cela permettrait à l'application de lire l'intégralité de
mysql.proctableau contenant des informations sur tous procédures stockées dans tous bases de données (y compris le code source).