Can’t execute a MySQL stored procedure from Java

There are two ways to solve this:

  1. set the connection’s noAccessToProcedureBodies=true property

    For example as part of the connection string:

    jdbc:mysql://ipaddress:3306/test?noAccessToProcedureBodies=true
    

    The JDBC driver will then create “INOUT” strings for the arguments without requiring meta data like the exception says.

  2. Grant SELECT privileges on mysql.proc to the database user

    For 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.proc table that contains information about all stored procedures in all databases (including source code).

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)