Il existe deux façons de résoudre ce problème :
-
définir le
noAccessToProcedureBodies=true
de la connexion propriétéPar exemple, dans le cadre de la chaîne de connexion :
jdbc:mysql://ipaddress:3306/test?noAccessToProcedureBodies=true
Le 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
SELECT
privilè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.proc
tableau contenant des informations sur tous procédures stockées dans tous bases de données (y compris le code source).