Ci sono due modi per risolverlo:
-
impostare il
noAccessToProcedureBodies=true
della connessione proprietàAd esempio come parte della stringa di connessione:
jdbc:mysql://ipaddress:3306/test?noAccessToProcedureBodies=true
Il driver JDBC creerà quindi stringhe "INOUT" per gli argomenti senza richiedere metadati come dice l'eccezione.
-
Concedi
SELECT
privilegi sumysql.proc
all'utente del databaseAd esempio nel prompt di MySQL:
GRANT SELECT ON mysql.proc TO 'user'@'localhost';
Ovviamente ciò consentirebbe all'applicazione di leggere l'intero
mysql.proc
tabella che contiene informazioni su tutti stored procedure in tutti database (compreso il codice sorgente).