Ci sono due modi per risolverlo:
-
impostare il
noAccessToProcedureBodies=truedella connessione proprietàAd esempio come parte della stringa di connessione:
jdbc:mysql://ipaddress:3306/test?noAccessToProcedureBodies=trueIl driver JDBC creerà quindi stringhe "INOUT" per gli argomenti senza richiedere metadati come dice l'eccezione.
-
Concedi
SELECTprivilegi sumysql.procall'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.proctabella che contiene informazioni su tutti stored procedure in tutti database (compreso il codice sorgente).