Hay dos formas de resolver esto:
-
establezca el
noAccessToProcedureBodies=true
de la conexión propiedadPor ejemplo, como parte de la cadena de conexión:
jdbc:mysql://ipaddress:3306/test?noAccessToProcedureBodies=true
El controlador JDBC luego creará cadenas "INOUT" para los argumentos sin requerir metadatos como dice la excepción.
-
Otorgar
SELECT
privilegios enmysql.proc
al usuario de la base de datosPor ejemplo, en el indicador de mysql:
GRANT SELECT ON mysql.proc TO 'user'@'localhost';
Por supuesto, esto permitiría que la aplicación lea todo el
mysql.proc
tabla que contiene información sobre todos procedimientos almacenados en todos bases de datos (incluido el código fuente).