There are two ways to solve this:
-
set the connection’s
noAccessToProcedureBodies=truepropertyFor example as part of the connection string:
jdbc:mysql://ipaddress:3306/test?noAccessToProcedureBodies=trueThe JDBC driver will then create “INOUT” strings for the arguments without requiring meta data like the exception says.
-
Grant
SELECTprivileges onmysql.procto the database userFor example in the mysql prompt:
GRANT SELECT ON mysql.proc TO 'user'@'localhost';Of course this would allow the application to read the entire
mysql.proctable that contains information about all stored procedures in all databases (including source code).